输出屏幕上没有显示任何内容

时间:2017-03-11 14:09:10

标签: java println

我试图做一个非常简单的代码,但每当我尝试打印第一个语句以获取用户的输入信息时,输出屏幕上都不显示任何内容。

以下是代码:

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。感谢您的阅读

8 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

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

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

试试这个:

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

答案 2 :(得分:0)

这有助于您理解:

    int grade[] = new int[3];

在上面的代码下添加此行。

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

答案 3 :(得分:0)

成绩数组为空。它在所有指数中都为0。等级[0] = 0,等级[1] = 0等等...... 因此,循环永远不会运行,也没有任何反应。

答案 4 :(得分: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]);
}       

}

答案 5 :(得分:0)

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

答案 6 :(得分:-1)

您必须重写代码,这是一个类似于您的示例代码,并进行了一些修改。

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]);
            }       
    }
}

答案 7 :(得分:-1)

这是您的代码稍作修改。

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]);
    }       
}
}