public static void main (String[] args)
{
Scanner input = new Scanner(System.in);
double[] numbers = new double[5];
for (int i = 0; i < numbers.length; i++)
{
System.out.println("Please enter number");
numbers[i] = input.nextDouble();
}
}
Das scheint mir neben der Liste die einfachste Methode zu sein ..
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int [] noten = new int[5];
for(int i = 0; i < noten.length; i++){
System.out.println("Please enter a number");
noten[i] = sc.nextInt();
}
int a,b,c,d,e;
a = noten[0];
b = noten[1];
c = noten[2];
d = noten[3];
e = noten[4];
int notens = a+b+c+d+e;
double ds = notens / noten.length;
System.out.println(ds);
}
}
Die Zahl die an der jeweiligen array stelle steht speicher ich in eine Variable, diese speichere ich dann alle zusammen und teile sie durch noten.length. Also doch eig z.B 10:5...
Hier musst nicht vorher wissen, wieviele Zahlen eingetragen werden:
Java:
importjava.util.ArrayList;importjava.util.Scanner;classHauptprogramm{publicstaticvoidmain(String[] args){boolean weitermachen =true;ArrayList<Integer> meineArrayList =newArrayList<Integer>();System.out.println("In diesem Programm können Sie die Zahlen (ganze Zahlen!) eintragen.\n"+"Sie können die Abfrage mit der Eingabe des Buchstabens q beenden.\n");while(weitermachen ==true){Scanner scanner =newScanner(System.in);System.out.println("Geben sie bitte eine ganze Zahl ein: ");if(scanner.hasNextInt()){
meineArrayList.add(scanner.nextInt());}elseif(scanner.nextLine().equals("q")){
weitermachen =false;continue;}}int[] noten =newint[meineArrayList.size()];for(int i =0; i < meineArrayList.size(); i++){
noten[i]= meineArrayList.get(i);}System.out.print("Die Eingegebenen Zahlen lauten: ");for(int i =0; i < noten.length; i++){System.out.print(noten[i]+", ");}}}
@Keksbrot123
Ja das ist mir klar.
Du solltest dir aber vielleicht noch mal etwas zur Integerdivision anschauen damit das klarer wird.
Wenn du 2 Int-Werte dividierst dann wird immer zum nächst näheren Integer abgerundet.
Wenn du den Wert allerdings zu einem double wandelst dann ist es keine Integerdivision mehr und die Kommastellen bleiben erhalten
Hier kann der Benutzer alle Zahlen in einer einzigen Zeile eingeben:
Java:
importjava.util.Scanner;classHauptprogramm{publicstaticvoidmain(String[] args){System.out.println("In diesem Programm können Sie die Zahlen (ganze Zahlen!) eintragen.\n"+"Sie muessen alle Zahlen in einer einzigen Zeile eingeben.\n");Scanner scanner =newScanner(System.in);System.out.println("Geben sie bitte die Zahlen (durch ein Leerzeichen getrennt) ein: ");String alleZahlen = scanner.nextLine();String[] notenAlsStrings = alleZahlen.split(" ");int[] noten =newint[notenAlsStrings.length];for(int i =0; i < notenAlsStrings.length; i++){
noten[i]=Integer.parseInt(notenAlsStrings[i]);}System.out.println("Die Eingegebenen Zahlen lauten:");for(int i =0; i < noten.length; i++){System.out.println(noten[i]);}}}
Die Zahl die an der jeweiligen array stelle steht speicher ich in eine Variable, diese speichere ich dann alle zusammen und teile sie durch noten.length. Also doch eig z.B 10:5...
@krgewb
Ich weiß nicht warum du ihm nur fertigen Code hinklatschst ohne jegliche Kommentare dazu zuschreiben.
Da ist doch der Lerneffekt gleich null...