Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
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:
import java.util.ArrayList;
import java.util.Scanner;
class Hauptprogramm {
public static void main(String[] args) {
boolean weitermachen = true;
ArrayList<Integer> meineArrayList = new ArrayList<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 = new Scanner(System.in);
System.out.println("Geben sie bitte eine ganze Zahl ein: ");
if (scanner.hasNextInt()) {
meineArrayList.add(scanner.nextInt());
}
else if (scanner.nextLine().equals("q")) {
weitermachen = false;
continue;
}
}
int[] noten = new int[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:
import java.util.Scanner;
class Hauptprogramm {
public static void main(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 = new Scanner(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 = new int[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...