为什么这段代码不能正常工作

时间:2013-11-17 06:13:43

标签: java arrays for-loop

此代码无法正常运行。我无法找到第二次运行循环的原因,它不会为firstName变量输入它只打印“输入名字:”。

import java.util.Scanner;

    public class Test {
        public static void main(String[]args){
          String[] firstName =  new String[30] ;
          String[] secondName = new String [30];
          int[] marksCourseWorkOne =  new int[30];
          int i;
          Scanner sc = new Scanner(System.in);
          for (i = 28; i < firstName.length; i++){
            System.out.print("\nEnter First Name : ");
            firstName[i] = sc.nextLine(); 
            System.out.print("\nEnter Second Name : ");
            secondName[i] = sc.nextLine();
            System.out.print("\nEnter Marks For Course Work One : ");
            marksCourseWorkOne[i] = sc.nextInt();
          }
     }
}

1 个答案:

答案 0 :(得分:4)

首先,不要在nextLine之后使用nextInt,因为后者不会使用\n字符,而是会被nextLine吞噬},使其跳过你想要插入的实际输入。

其次,如果您是编译器,您认为i是什么?你不会知道,因为程序员没有告诉你。你应该写int i = 28(你确定它应该是28而不是0吗?)。

第三,你没有程序的入口点,所有这些都应该在main方法(或任何其他方法)中。

解决方案:

  1. 阅读basic tutorial
  2. 定义i
  3. nextLine之后立即添加另一个nextInt以使用\n
  4. 添加方法! (与1相关)。