찾다

 >  Q&A  >  본문

关于java数组例子的疑惑

public class 投票统计 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner in = new Scanner(System.in);
    int x;
    int[] numbers = new int[10];//创建数组
    x = in.nextInt();
    while(x!=-1){
        if(x>=0&&x<=9){
            numbers[x] = numbers[x] + 1;//数组参与运算
        }
        x = in.nextInt();
    }
    for(int i=0;i<numbers.length;i++){
        System.out.println(i+":"+numbers[i]);//遍历数组输出
    }
}

}
上面这个例子看不懂唉,求大神点拨

PHP中文网PHP中文网2812일 전661

모든 응답(2)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 13:32:44

    请看注释,其实运行一下这个程序就明白是怎么回事儿了。

    public static void main(String[] args) {
            //创建一个Scanner对象,用于从键盘输入来读取。
            Scanner in = new Scanner(System.in);
            int x;
            /*
            这个数组中存储的十个int,可以理解为10个候选人的ID号,或者名称。
            整个投票的过程,就是这10个int从0开始+1。
             */
            int[] numbers = new int[10];//创建数组
            //从键盘输入读取一个整形,这个整形数值代表的就是10个候选人其中之一的ID,对应到数组,就是数组索引值。
            x = in.nextInt();
            /*
            开始循环,如果输入-1,则结束投票,并遍历数组,打印投票结果。
            如果输入的是0-9中任何一个数字,则代表该候选人票数+1。
             */
            while(x!=-1){
                if(x>=0&&x<=9){
                    numbers[x] = numbers[x] + 1;//数组参与运算
                }
                x = in.nextInt();
            }
            for(int i=0;i<numbers.length;i++){
                System.out.println(i+":"+numbers[i]);//遍历数组输出
            }
        }
    

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-17 13:32:44

    投票者从控制台输入要投票的号数,假如说投3号,那么程序中的x = 3, 然后把3号的票数加一numbers[x] = numbers[x] + 1;
    最后打印出每个人得到的票数。

    회신하다
    0
  • 취소회신하다