Hallo, ich bin noch relativ neu was Java angeht und würde gerne eine Programm schreiben mit variablen Feldergrößen.
Das ist mein aktueller Programmcode:
Allerdings weiß ich noch nicht genau, wie ich diese "variablen" Feldergrößen einstellen soll.
Im Menü frage ich zwar nach den Anzahl der Feldern und Komponenten ab, jedoch werden maximal zwei Felder bzw. Komponenten wiedergegeben.
Ich weiß ja, dass ich Felder mit [][] kennzeichne. Das sind jetzt 2 Felder. Aber wie mache ich das, wenn ich eine variable Anzahl an Feldern darstellen möchte, die der Benutzer eingibt?
Das ist mein aktueller Programmcode:
Java:
import javax.swing.*;
public class MehrdimensionalesFeldDurchschnitt {
public static void main(String[] args) {
boolean ende=true;
String wahlStr;
short wahl;
double durchschnitt;
String eing1 = JOptionPane.showInputDialog("Geben Sie die Anzahl der Felder an");
int felderanzahl = Integer.parseInt(eing1);
String eing2 = JOptionPane.showInputDialog("Geben Sie die Anzahl der Komponenten an");
int komponentenanzahl = Integer.parseInt(eing2);
int feld[][] = new int[felderanzahl][komponentenanzahl];
System.out.println("===================================");
System.out.println("=========== Auswahlmen\u00FC ===========");
System.out.println("===================================");
do {
System.out.println("\n(1) Eingabe von " +felderanzahl +" Produktionsdaten");
System.out.println("(2) Berechnung Durchschnitt");
System.out.println("+++++++++++++++++++++++");
System.out.println("(0) Programmende");
wahlStr = JOptionPane.showInputDialog ("W\u00E4hlen Sie eine Option: ");
wahl = Short.parseShort(wahlStr);
switch(wahl) {
case 1:
for(int i=0; i<felderanzahl; i++){
for(int j=0; j<komponentenanzahl; j++){
if(j==0) wahlStr = JOptionPane.showInputDialog ((i+1) + ". Geben Sie die Anzal der Produkte an: ");
if(j==1) wahlStr = JOptionPane.showInputDialog ((i+1) + ". Geben Sie die Produktionszeit in Minuten an: ");
feld[i][j] = Integer.parseInt(wahlStr);
}
}
System.out.println("");
for(int i=0; i<felderanzahl; i++){
for(int j=0; j<komponentenanzahl; j++){
System.out.print("Feld["+i+"]["+j+"] = " +feld[i][j]+ " ");
}
System.out.println("");
}
break;
case 2:
System.out.println("");
for(int i=0; i<felderanzahl; i++){
durchschnitt = ((double)feld[i][0])/feld[i][1];
System.out.println("Der Durchschnittswert von Produktionsdaten ["+i+"] betr\u00E4gt " + durchschnitt + ".");
}
break;
case 0:
System.out.println("\nProgramm beendet\n");
ende=false;
break;
default:
System.out.println("\nFehleingabe - bitte eine Zahl w\u00E4hlen\n");
}
}
while (ende);
}
}
Allerdings weiß ich noch nicht genau, wie ich diese "variablen" Feldergrößen einstellen soll.
Im Menü frage ich zwar nach den Anzahl der Feldern und Komponenten ab, jedoch werden maximal zwei Felder bzw. Komponenten wiedergegeben.
Ich weiß ja, dass ich Felder mit [][] kennzeichne. Das sind jetzt 2 Felder. Aber wie mache ich das, wenn ich eine variable Anzahl an Feldern darstellen möchte, die der Benutzer eingibt?