Ich hab ein Programm mit zwei Arrays. Eines mit Namen und eines mit Orten. Und wenn jeder zweimal in einem Ort war, soll sich das Programm beenden.
Java:
// Jeder Springer darf nur zweimal in einem Ort springen
// Wenn jeder Springer in jedem Ort gesprungen ist, soll eine Gesamtwertung kommen, wo der Name und die Gesamtpunktezahl steht
import java.util.*;
import java.io.*;
public class Skisprung
{
public static String [] arrSkispringer = {"Ahonen","Ammann","Bodmer","Loitzl","Schlierenzauer"};
public static String [] arrSprungort = {"Bischofshofen","Garmisch","Innsbruck","Obersdorf","Planica"};
public static double [] arrWeite = {137.00,140.00,130.00,140.00,215.00};
public static double [] arrPunkte = {0,0,0,0,0};
public static int [] arrVersuche = {0,0,0,0,0};
public static double weite;
public static double halt1;
public static double halt2;
public static double halt3;
public static double halt4;
public static double halt5;
public static double faktor = 1.8;
public static double gesamtpunkte = 0;
public static String name;
public static double K;
public static double gesamtpunkteW=0;
public static int versuche;
public static void main (String[]args)
{
berechnung();
}
public static void berechnung()
{
while (true)
{
try
{
BufferedReader eingabe;
eingabe = new BufferedReader (new InputStreamReader(System.in));
for(int x = 0; x < arrSkispringer.length; x++) {
System.out.println(arrSkispringer[x]);
}
System.out.println("Springer auswählen auswählen:");
name = eingabe.readLine();
int index = Arrays.binarySearch(arrSkispringer,name);
if((index < 0) || (index > arrSkispringer.length))
{
System.out.println("Springer nicht vorhanden");
versuche++;
for (int x = 0; x < arrSkispringer.length;x++)
{
System.out.println(arrSkispringer[x]);
}
}
System.out.println(" ");
for (int y = 0; y<arrSprungort.length;y++)
{
System.out.println(arrSprungort[y]);
}
System.out.println("Ort auswählen: ");
String Ort = eingabe.readLine();
int index2 = Arrays.binarySearch(arrSprungort, Ort);
System.out.println(arrWeite[index2]);
System.out.println("Weite angeben");
weite = Double.parseDouble(eingabe.readLine());
System.out.println("Punkte Richter1");
halt1 = Double.parseDouble(eingabe.readLine());
System.out.println("Punkte Richter2");
halt2 = Double.parseDouble(eingabe.readLine());
System.out.println("Punkte Richter3");
halt3 = Double.parseDouble(eingabe.readLine());
System.out.println("Punkte Richter4");
halt4 = Double.parseDouble(eingabe.readLine());
System.out.println("Punkte Richter5");
halt5 = Double.parseDouble(eingabe.readLine());
if (weite>arrWeite[index2])
{
K = 60.0;
arrPunkte[index]+= ((K+(weite-arrWeite[index2])*faktor)+halt1+halt2+halt3+halt4+halt5);
}
else
{
K = 0;
arrPunkte[index] = ((K+(weite-arrWeite[index2])*faktor)+halt1+halt2+halt3+halt4+halt5);
}
for (int x = 0;x<arrSkispringer.length;x++)
{
System.out.println(arrSkispringer[x] + " hat " + arrPunkte[x] + "Punkte");
}
System.out.println(" ");
}
catch(IOException e)
{
System.out.println("Eingabefehler");
}
catch (NumberFormatException e)
{
System.out.println("Bitte nur Zahlen eingeben");
}
}
}
}