Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在scan-Java中最多输入10个有效名称_Java_Arrays - Fatal编程技术网

在scan-Java中最多输入10个有效名称

在scan-Java中最多输入10个有效名称,java,arrays,Java,Arrays,我需要要求用户输入最多10个有效名称。在我的代码中,我必须有一个包含所有全名的数组。在该数组中,全名是一个名称分隔的数组。要使每个全名有效,必须至少有两个名称和至少4个字符。如果用户介绍了5个有效的全名,则可以用数字“fim”结束该计划。最大值为10个有效全名,如果用户达到10个有效全名,则程序应结束。这些代码是不正确的,因为当它达到10个有效全名时,或者如果用户数字在5个或更多有效全名后结束,它不会结束 public static void main(String[] args) {

我需要要求用户输入最多10个有效名称。在我的代码中,我必须有一个包含所有全名的数组。在该数组中,全名是一个名称分隔的数组。要使每个全名有效,必须至少有两个名称和至少4个字符。如果用户介绍了5个有效的全名,则可以用数字“fim”结束该计划。最大值为10个有效全名,如果用户达到10个有效全名,则程序应结束。这些代码是不正确的,因为当它达到10个有效全名时,或者如果用户数字在5个或更多有效全名后结束,它不会结束

public static void main(String[] args) {
    Scanner keyboard = new Scanner (System.in);
    System.out.println("Enter up to 10 full names with up to 120 characters and at least two names with at least 4 characters: ");
    String[] fullName= new String[10];
    String[] separatedName;
    String name;
    int i = 0;

    do {
        name = keyboard.nextLine();
        fullName[i]=name;
        i++;

        separatedName =  name.split(" "); 
        //System.out.println(Arrays.toString(separatedName));

        int l = 0; 
        for(int n = 0; n < separatedName .length; n++){
            if(separatedName [n].length() >= 4 ) {
                l++;
            }
        }
        if(l >= 2 && name.length() <= 120 || name.equalsIgnoreCase("fim") ) {
            //System.out.println("Valid name.");
        }
        else {System.out.println("'" +name+ "'" + " is an invalid name");
        }

    }
    while(i<10);

    keyboard.close();
}
publicstaticvoidmain(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入最多10个全名,最多120个字符,至少两个名称,至少4个字符:”);
字符串[]全名=新字符串[10];
字符串[]分隔名称;
字符串名;
int i=0;
做{
name=keyboard.nextLine();
全名[i]=姓名;
i++;
separatedName=name.split(“”);
//System.out.println(Arrays.toString(separatedName));
int l=0;
for(int n=0;n=4){
l++;
}
}

如果(l>=2&&name.length()仍然不确定要执行的操作。尝试此操作,这将解决您的问题

public static void main(String[] args) {

        Scanner keyboard = new Scanner (System.in);
        System.out.println("Enter up to 10 full names with up to 120 characters and at least two names with at least 4 characters: ");
        String[] fullName= new String[10];
        String[] separatedName;
        String name;
        int i = 0;
        int validCount=0;

        do {
            name = keyboard.nextLine();
            fullName[i]=name;
            i++;

            separatedName =  name.split(" "); 
            //System.out.println(Arrays.toString(separatedName));

            int l = 0; 
            for(int n = 0; n < separatedName .length; n++){
                if(separatedName [n].length() >= 4 ) {
                    l++;
                }
            }
            if(l >= 2 && name.length() <= 120  ) {
                validCount++;
                //System.out.println("Valid name.");
            }
            else {System.out.println("'" +name+ "'" + " is an invalid name");
            }

            if(validCount>=5 || name.equalsIgnoreCase("fim")) {
                break;
            }

        }
        while(i<10);

        keyboard.close();
    }
publicstaticvoidmain(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入最多10个全名,最多120个字符,至少两个名称,至少4个字符:”);
字符串[]全名=新字符串[10];
字符串[]分隔名称;
字符串名;
int i=0;
int validCount=0;
做{
name=keyboard.nextLine();
全名[i]=姓名;
i++;
separatedName=name.split(“”);
//System.out.println(Arrays.toString(separatedName));
int l=0;
for(int n=0;n=4){
l++;
}
}
如果(l>=2&&name.length()=5 | | name.equalsIgnoreCase(“fim”)){
打破
}
}

while(I)您的问题/问题是什么?我添加了为什么它不起作用,并且如果(l>=2&&name.length(),则fullName[]的元素只能根据条件具有有效的名称。您可以显示输出并解释其错误原因。有时解释问题会修复它。可能的重复