在system.out.println中打印到屏幕的计数器值

时间:2013-11-22 00:18:05

标签: java arrays loops counter

我正在尝试将字符串输入到用户输入的数组中 - 使用扫描程序。 我正在提示用户学生总数并将其保存在变量中以确定数组长度。 每个循环我想问一个问题“学生的名字是什么”(以及他们在柜台中的位置),即学生#1学生#2等 以下代码似乎正常工作。

System.out.println("what is first name of student")

当我添加到此+计数器的结尾时+我收到错误消息“非法启动表达式”

请帮助,并在下面找到完整的代码。感谢

public class Student
{
    public static void main(String[]args)//Main method
    {
        Scanner input=new Scanner(System.in);

        int studentNumber;// declare a variable to store # students

        System.out.println( "Please enter the number of students.");

        noStudent=input.nextInt();//take in user input for number of racers

        while (noStudent<2 || noStudent>20)// validate users 
        {
            //while users input is invalid, alert user and prompt user for a valid number
            System.out.println("Invalid input please re-enter a number between 2 and 20.");
            noStudent=input.nextInt();
        }

        String[] nameArray = new String[noStudent];

        for(int counter = 0; counter<nameArray.length; counter++)
        {
            System.out.println("please enter first name of student "  + i+);  
            nameArray[counter] = input.next();
        }
    }//end main
}//end class

2 个答案:

答案 0 :(得分:1)

尝试做(如果是java):

for(int counter = 0; counter<nameArray.length; counter++)
{
System.out.println("please enter first name of student "  + (counter+1));  
nameArray[counter] = input.next();
}

答案 1 :(得分:1)

System.out.println("please enter first name of student "  + i+);

应该是

System.out.println("please enter first name of student "  + counter);

此外,我认为您可能希望声明变量noStudent而不是studentNumber。你经常使用noStudent,但我没有看到它。我看到studentNumber已声明,但我看不到它曾被使用过。

int noStudent;
System.out.println( "Please enter the number of students.");
noStudent=input.nextInt();