【问题标题】:java programm thats initialise the values of an 2 diemnsonal array初始化二维数组值的java程序
【发布时间】:2016-07-11 09:12:31
【问题描述】:

我必须使用二维数组编写程序,您是否能够输入教室中有多少学生。下一步是每个学生都有不同的成绩,所以输出应该像这个例子:

学生人数:3

1.Student -> 一年级:5;二年级:3;三年级:2人; 2.一年级学生:1人; 3.一年级学生:6人;二年级:2;

问题:我的程序在每个学生应该得到不同数量的笔记时停止。我不明白为什么 zeile[i] 不能取 i 的值,所以 zeile[0] 会得到第一个值 zeile[1] 得到第二个,依此类推。 spalte[n] 的同样问题。

这是我迄今为止尝试过的:

import java.util.*;

public class NotenZeugnis {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub


        int zeile,spalte;
        int Noten [] [];
        int anzahlS ;
        int anzahl[];

        Scanner in = new Scanner(System.in);


        System.out.println("Bitte geben sie die Anzahl der Schüler ein : ");
        anzahlS = in.nextInt();//EINGABE DER SCHÜLER BSP .3 DANN 3 ZEILEN {{},{},{}};

        for (int i = 0; i <= anzahlS - 1; i++) {
            System.out.println("Wieviele Noten hat der " + (i+1) +".Schüler ?");
            zeile[i] = in.nextInt();//EINGABE DER ANZAHL DER NOTEN  
            System.out.println(zeile);}
            for (int s = 0; s < Noten[zeile].length; s++) { //I LASSEN WIR HIERBEI SO OFT LAUFEN WIE DIE ANZAHL DER NOTEN BSP 3 DANN GEHEN 
                //WIR DIESE SCHLEIFE 4 MAL DRUCH
                System.out.println("Bitte geben sie die Noten für die ");
                spalte[s] = in.nextInt();} //DABEI ERHÄLT SPALTE 0 EINEN WERT SPALTE 1 EINEN WERT SPALTE 2
                Noten = new int [zeile][spalte];    
            }
    }

// WAS ICH IMPLEMENTIEREN MÖCHTE 
//MAN SOLL EINE ANZAHL VON SCHÜLERN ANGEBEN 
//FÜR DIESE ANZAHL SOLL ER MICH JEWEILS FRAGEN WIE VIELE NOTEN DIESE SCHÜLER HABEN------BIS HIER HIN GESCHAFFT
//UND DABEI IMMER DIESE WERTE DEN SCHÜLERN ZUORDNEN DABEI SOLLEN DIESE WERTE DAS ERSTE FELD ÜBERNEHMEN
//SODASS BSP. 3 SCHÜLER 1.SCHÜLER HAT 3 NOTEN 2.SCHÜLER 2 NOTEN 3.SCHÜLER HAT 5 NOTEN 
//BEI AUSGABE VON FELD ZEILE SOLLTE DER COMPUTER DAS JETZT SO WISSEN
//zeile[0]=3;
//zeile[1]=2;
//zeile[2]=5;

问题:我的程序在每个学生应该得到不同数量的笔记时停止。我不明白为什么 zeile[i] 不能取 i 的值,所以 zeile[0] 会得到第一个值 zeile[1] 得到第二个,依此类推。 spalte[n] 的同样问题。感谢您的帮助:)

感谢您的帮助:)

【问题讨论】:

  • 您可能需要重新格式化您的问题,以便阅读。
  • 您没有向我们提供有关 zeile[i] 和 spalte 的信息
  • 问题:是否可以通过键入而不是开头来确定数组的值。此外,学生的分数不同,这就是 zeile 必须不同的原因
  • zeile [i] 应该代表等级数 spalte[n] 应该代表等级数示例等级 3 所以 {{},{},{}} 标记 3,5,1 -> {{3},{5},{1}}

标签: java arrays multidimensional-array


【解决方案1】:

您是否正在寻找这样的东西?

    int studentNumber = in.nextInt();

    int[][] students = new int[studentNumber][];


    for (int i = 0; i < students.length; i++) {
        int gradeCount = in.nextInt();
        students[i] = new int[gradeCount];
        for (int j = 1; j <= gradeCount; j++) {
            int grade = in.nextInt();
            students[i][j] = grade;
        }
    }

【讨论】:

    猜你喜欢
    • 2013-12-15
    • 2013-11-21
    • 2012-11-29
    • 1970-01-01
    • 2018-12-09
    • 2016-09-01
    相关资源
    最近更新 更多