hi,
ich muss in der schule ein java-projekt machen. ich hab mich für einen mathe trainer entschieden. hier der code:
so, ich habe zufällig erzeugte zahlen, kann die anzahl der aufgaben bestimmen und sagen, ob ich weitermachen will oder nicht.
allerdings hätte ich ein paar fragen:
- kann ich von einem unterprogramm, wie z.B. multiplikation auch wieder auf "main" zurückkommen,sodass das programm von vorne anfängt?
(im moment sieht es ja so aus, dass ich nachdem ich mich für eine rechenart entschieden habe nur diese eine machen kann, so oft ich will)
- was kann ich an dem aussehen noch verschönern?
- bezüglich division:
1. wie bekomme ich die größere der beiden erzeugten zahlen nach vorne? (fällt mir gerade ein, ne if else bedingung; ich probiers mal aus)
2. kann man irgendwie nur ganze zahlen erzeugen?
schonmal vielen dank
ich muss in der schule ein java-projekt machen. ich hab mich für einen mathe trainer entschieden. hier der code:
Code:
import static java.lang.System.out;
import java.util.Scanner;
import java.util.Random;
public class Projekteinmaleins1 {
public static void main (String args[]) {
char a;
String s;
System.out.println("Mathematik Trainer");
System.out.println("m: Multiplizieren");
System.out.println("d: Dividieren ");
System.out.println("a: Addieren");
System.out.println("s: Subtrahieren ");
Scanner lies = new Scanner(System.in);
System.out.print("Wahl: "); s = lies.nextLine();
a=s.charAt(0);
switch (a) {
case 'm': multiplikation () ; break;
case 'd': division();break;
case 'a': addition(); break;
case 's': subtraktion();break;
default : out.println("Option ungueltig!");
}
}
public static void multiplikation (){
String ant = "j";
Scanner lies = new Scanner (System.in);
do{
int x,y,i,o=0;
System.out.print("Anzahl der Rechnungen: ");i=lies.nextInt();
while(o<i){
int azufall = new Random().nextInt(100)+1;
int bzufall = new Random().nextInt(100)+1;
System.out.print("Multipliziere "+azufall+"*"+bzufall+"=");x=lies.nextInt();
y=azufall*bzufall;
if (x==y) {
System.out.println("Das war richtig!");
}
else {
System.out.println("Das war leider falsch. Das richtige Ergebnis ist: "+y);
}
o++;
}
System.out.println();
System.out.print ("Willst du weiterrechnen? ");
ant = lies.next();
} while((ant.equals("j"))||(ant.equals("j")));
}
public static void addition (){
String ant = "j";
Scanner lies = new Scanner (System.in);
do{
int x,y,i,o=0;
System.out.print("Anzahl der Rechnungen: ");i=lies.nextInt();
while(o<i){
int azufall = new Random().nextInt(100)+1;
int bzufall = new Random().nextInt(100)+1;
System.out.print("Addiere "+azufall+"+"+bzufall+"=");x=lies.nextInt();
y=azufall+bzufall;
if (x==y) {
System.out.println("Das war richtig!");
}
else {
System.out.println("Das war leider falsch. Das richtige Ergebnis ist: "+y);
}
o++;
}
System.out.println();
System.out.print ("Willst du weiterrechnen? ");
ant = lies.next();
} while((ant.equals("j"))||(ant.equals("j")));
}
public static void subtraktion (){
String ant = "j";
Scanner lies = new Scanner (System.in);
do{
int x,y,i,o=0;
System.out.print("Anzahl der Rechnungen: ");i=lies.nextInt();
while(o<i){
int azufall = new Random().nextInt(100)+1;
int bzufall = new Random().nextInt(100)+1;
System.out.print("Subtrahiere "+azufall+"-"+bzufall+"=");x=lies.nextInt();
y=azufall-bzufall;
if (x==y) {
System.out.println("Das war richtig!");
}
else {
System.out.println("Das war leider falsch. Das richtige Ergebnis ist: "+y);
}
o++;
}
System.out.println();
System.out.print ("Willst du weiterrechnen? ");
ant = lies.next();
} while((ant.equals("j"))||(ant.equals("j")));
}
public static void division (){
String ant = "j";
Scanner lies = new Scanner (System.in);
do{
int x,y,i,o=0;
System.out.print("Anzahl der Rechnungen: ");i=lies.nextInt();
while(o<i){
int azufall = new Random().nextInt(100)+1;
int bzufall = new Random().nextInt(100)+1;
System.out.print("Dividiere "+azufall+"/"+bzufall+"=");x=lies.nextInt();
y=azufall/bzufall;
if (x==y) {
System.out.println("Das war richtig!");
}
else {
System.out.println("Das war leider falsch. Das richtige Ergebnis ist: "+y);
}
o++;
}
System.out.println();
System.out.print ("Willst du weiterrechnen? ");
ant = lies.next();
} while((ant.equals("j"))||(ant.equals("j")));
}
}
so, ich habe zufällig erzeugte zahlen, kann die anzahl der aufgaben bestimmen und sagen, ob ich weitermachen will oder nicht.
allerdings hätte ich ein paar fragen:
- kann ich von einem unterprogramm, wie z.B. multiplikation auch wieder auf "main" zurückkommen,sodass das programm von vorne anfängt?
(im moment sieht es ja so aus, dass ich nachdem ich mich für eine rechenart entschieden habe nur diese eine machen kann, so oft ich will)
- was kann ich an dem aussehen noch verschönern?
- bezüglich division:
1. wie bekomme ich die größere der beiden erzeugten zahlen nach vorne? (fällt mir gerade ein, ne if else bedingung; ich probiers mal aus)
2. kann man irgendwie nur ganze zahlen erzeugen?
schonmal vielen dank