2013-11-22 54 views
0

我試圖將字符串輸入到數組由用戶輸入 - 使用掃描儀。 我在提示用戶輸入學生總數並將其保存在變量中以確定數組長度。 每個循環我想問一個問題:「什麼是學生的名字」(以及他們在櫃檯中的位置),即學生#1學生#2等 下面的代碼似乎是按原樣工作的。打印到system.out.print.ln中的數組的屏幕計數器值

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 

回答

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
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();