输出屏幕上没有任何显示

Nothing shows up on output screen

我正在尝试编写一个非常简单的代码,但每当我尝试让它打印第一条语句以从用户那里获取输入信息时,输出屏幕上什么也没有显示。

代码如下:

public static void main(String args[]){
    Scanner sc = new Scanner(System.in);
    int grade[] = new int[3];

    for(int i = 0; i < grade[i]; grade[i]++){
    System.out.println("Input the student's degree");
    grade[i] = sc.nextInt();
        if(grade[i] < 10 ){
            grade[i] += 0.5;
        }
        System.out.println(grade[i]);
    }       
}

我真的看不出这里的问题。如果有人想知道,我正在使用 Eclipse Neon 0.2 IDE。感谢阅读

grade[i] 的值为零,因为尚未设置。因此你没有进入循环。

 for(int i = 0; i < grade[i]; grade[i]++){
 //                   ^^^^^^^^ here 

试试这个:

for(int i = 0; i < 3; i++){

grade[] 为空,因此 for 循环永远不会运行。 int 数组用 0 初始化。

这将帮助您理解:

    int grade[] = new int[3];

在上面的代码下面添加这一行。

    System.out.print(grade[0]); 

成绩数组为空。它在所有索引中都为 0。等级[0]=0,等级[1]=0 等等... 因此循环永远不会运行并且什么也不会发生。

可能是这样的:

public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int grade[] = new int[3];

for(int i = 0; i < grade.length; i++){
    System.out.println("Input the student's degree");
    grade[i] = sc.nextInt();
    if(grade[i] < 10 ){
        grade[i] += 0.5;
    }
    System.out.println(grade[i]);
}       

}

在 for 循环之前用这个试试

Scanner sc = new Scanner(System.in);
        int grade[] = new int[3];
        System.out.println("Input the student's degree");
        grade[0] = sc.nextInt();
        grade[1] = sc.nextInt();
        grade[2] = sc.nextInt();

您必须重写您的代码,这是一个示例代码,与您的代码类似,只是做了一些修改。

import java.util.Scanner; // import scanner package
public class demo {
    public static void main(String args[]){

            // create  a scanner
            Scanner sc = new Scanner(System.in);

            // double data type array
            double grade[] = new double[3]; 

            for(int i = 0; i < grade.length; i++){
            System.out.println("Input the student's degree");

            // input double data type value
            grade[i] = sc.nextDouble();
                if(grade[i] < 10 ){
                    grade[i] += 0.5;
                }
                System.out.println(grade[i]);
            }       
    }
}

这是您的代码,稍作修改。

import java.util.Scanner; // import scanner package
public class demo{
    public static void main(String args[]){

    // create a scanner
    Scanner sc = new Scanner(System.in);


    //create a double data type array
    double grade[] = new double[3];

    // create a for loop with modified condition
    for(int i = 0; i <= grade[i]; grade[i]++){

    // prompt input message
    System.out.println("Input the student's degree");

    // assign a double data type value
    grade[i] = sc.nextDouble();

    // test if grade is less than 10
        if(grade[i] < 10 ){
            grade[i] += 0.5;
        }
        System.out.println(grade[i]);
    }       
}
}