问答详情
源自:6-1 什么是数组

关于数组的输入和输出(请问哪里出错了)

public class s001 {

  public static void main(String[] args) {

Scanner input=new Scanner(System.in);

System.out.println("请输入您的分数");

  for(int stuNum=1;stuNum<=5;stuNum++){

  int[] scores={input.nextInt()};}

  

  System.out.println("请输入您的学号");

int i=input.nextInt();

System.out.println(scores[i]);

  }

  }


提问者:最后的地球人 2015-06-22 09:52

个回答

  • 管理員
    2015-06-23 16:40:56
    已采纳

    你这代码问题相当严重,

    int[] scores={input.nextInt()};

    相当于:

    int a=input.nextInt();

    int[] scores={a};

    数组长度永远是1.

  • askshow2
    2015-07-06 15:00:32

    //


    我做了个相似的

    import java.util.Scanner;

     

    public class shuZu

    {

      public static void main(String[] args) 

      {

        Scanner input=new Scanner(System.in);

        boolean choise=true;  

        String choises;

        int sum;    //班级人数

        System.out.println("请输入本班的人数:");

        sum=input.nextInt();

        int scores[]=new int[sum];  //定义学生成绩数组,并分配空间

        for(int j=0;j<sum;j++)      //通过for循环通过控制台输入,并录入学生成绩于数组中

        {

        System.out.println("请输入学号为"+(j+1)+"的成绩");

            scores[j]=input.nextInt();

        }

        while(choise)               //是否继续查询学生成绩

        {

          System.out.println("请输入查询成绩学生的学号:");

          int score=input.nextInt();

          System.out.println("学号为"+score+"学生成绩为:"+scores[score-1]);

          System.out.println("是否继续查询? y/n");

          choises=input.next();

          if(choises.equals("y")){}

          else if(choises.equals("n"))

          {

         choise=false;

          }

        }

        System.out.println("程序结束了...");

      }

    }


  • 咕WOWO
    2015-06-23 07:46:59

    import java.util.Scanner;
    
    public class Answer1 {
      public static void main(String[] args) {
    	Scanner input=new Scanner(System.in);
    	System.out.println("请输入您的分数");
    	int [] scores = new int[6];
    	  for(int stuNum=1;stuNum<=5;stuNum++){
                scores[stuNum]=input.nextInt();
    	  }
    	  
    	System.out.println("请输入您的学号");
    	int i=input.nextInt();
    	System.out.println(scores[i]);
      }
    }

    不清楚你的想法,这是修改后可以运行的代码。