[英]Method that scans array for most common word length, but sends error message if two different elements have the same length
[英]How to have at least two elements of a array with the same length in Java?
我有一个项目,我需要要求用户引入至少 5 个有效的全名(直到 10 个全名或者如果用户引入“fim”)。 每个全名需要至少有 2 个名字,每个名字 4 个字符,并且全名只有在不超过 120 个字符时才有效。 我需要为每个全名创建一个数组,其中元素是作为全名一部分的名称。 这里我有我的代码。 我有很多选项在评论中不起作用。 “Nome Inválido”标识无效名称,“Nome Válido”是有效名称。
public static void main(String[] args) {
Scanner keyboard = new Scanner (System.in);
System.out.println("Introduza até 10 nomes completos com até 120 caracteres e pelo menos dois nomes com pelo menos 4 caracteres: ");
String nome;
int i = 0;
do {
//nomes[i] = keyboard.next();
nome = keyboard.nextLine();
i++;
String[] nomeSeparado = nome.split(" ");
System.out.print(Arrays.toString(nomeSeparado));
int j = nomeSeparado[i].length();
/**
1) for(int k = 0; k < 2; k++) {
if(!(j == 4)) {
System.out.println(" Nome Inválido ");
}
else {
System.out.println(" Nome Válido ");
}
}
2) while( k < 2 ) {
if(!(j == 4)) {
System.out.println(" Nome Inválido ");
}
else {
System.out.println(" Nome Válido ");
}
}
3) if(while(!(nomeSeparado[i].length() == 4)<2)) {
System.out.println(" Nome Inválido ");
}
4) for(i = 0; i < 10 ; i++) {
if( j > 2 && nomeSeparado[i].length() == 4 ) {
System.out.println(" Nome Válido ");
}
else {System.out.println(" Nome Inválido ");}
}
**/
}
while(!nome.equalsIgnoreCase("fim") && i<10);
}
每次用户输入名称时,您将第一个名称保存为nomeSeparado
的第一个元素,将第二个名称保存为第二个元素。 您需要做的是检查第一个和第二个元素的长度,并检查它们是否符合规则。 这样的逻辑应该有效:
int lengthOfFirstName = nomeSeparado[0].length();
int lengthOfSecondName = nomeSeparado[1].length();
if (lengthOfFirstName >= 4 && lengthOfSecondName >= 4 && lengthOfFirstName + lengthOfSecondName < 120) {
System.out.println("Valid name");
} else {
System.out.println("Invalid name");
}
你为什么使用数组? 我认为 .length() 可以让你避免这种情况
导入 java.util.Scanner;
public static void main(String[] args) {
String firstName, surname, fullName;
int fullNameCount;
Scanner input = new Scanner(System.in);
System.out.println("Enter your first name");
firstName = input.nextLine();
System.out.println("Enter your surname");
surname = input.nextLine();
if (firstName.length() <= 4 && surname.length() <=4 ){
System.out.println("Invalid name! Exit");
} else{
fullName = firstName + surname;
fullNameCount = fullName.length();
System.out.println(fullNameCheck(fullNameCount));
char[] fullNameArray = fullName.toCharArray();
}
}
public static String fullNameCheck(int fullNameCount){
if (fullNameCount <= 120){
return "Valid Name";
}
else{
return "Invalid Name";
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.