Salve,
ancora una volta sono io , ho finito la tombola a cui stavo lavorando soltanto che ora vorrei semplificarne la struttura dato che continuo a fare cose "incomprensibili " per le altre persone, ecco il codice, qualche idea?
ovviamente per funzionare deve esserci il file Input.java nella stessa cartella (allego sotto)
codice:
import java.util.Random;public class Tombola{
public static void main(String args[]){
int contatore=0,contatore2=1,contatorearray=0;
int salta,sottrai,stop=0;
int a=1,b,c,d=-1,e,f=0;
int[] numeri2= new int[90];
String premi="a",nome,cognome;
String[] vincitori= new String[90];
System.out.println("Benvenuto nella Tombola\nUna volta iniziata per decretare i premi basta scriverli in minuscolo 1n\n\"esempio: tombola\"\nI comandi sono questi\ntombola\nquaterna\nterna\nambo\nvincite (per rivedere le vincite)\nfine (per finire il gioco quando ti stufi)\nPer iniziare premere INVIO");
while(! premi.equals("")){
premi = Input.readLine();
if (! premi.equals("")) System.out.println("HO DETTO INVIO NON "+premi+"!!");
}
while (contatore<90){
c=0;
salta=0;
sottrai=0;
java.util.Random numeri3=new java.util.Random();
b=numeri3.nextInt(91);
if (contatore>0) {
for (contatorearray=0;contatorearray<90;contatorearray++){
if (numeri2[c]==b){
sottrai=1;
salta=1;
contatorearray=90;
}
c++;
}
}
if (salta==0){
System.out.println("Numero:" + b);
if (sottrai==1){
a--;
sottrai=0;
}
if (a<90)numeri2[a]=b;
a++;
if (contatore==0) System.out.println("Per estrarre un numero premere Invio");
if (contatore==1)System.out.println("Inserire premi, se ce ne sono");
premi = Input.readLine();
if (! premi.equals("")) {
contatore2=1;
while(contatore2<2){
if (premi.equals("tombola")) {
System.out.print("Inserire nome vincitore: ");
nome=Input.readLine();
System.out.print("Inserire cognome vincitore: ");
cognome=Input.readLine();
System.out.println("");
System.out.println(nome+" "+cognome+" HA FATTO TOMBOLA!");
System.out.println("");
stop=1;
break;
}
if (premi.equals("terna")) {
System.out.print("Inserire nome vincitore: ");
nome=Input.readLine();
System.out.print("Inserire cognome vincitore: ");
cognome=Input.readLine();
d++;
vincitori[d]=(nome+" "+cognome+" terna");
System.out.println("");
System.out.println(nome+" "+cognome+" ha fatto terna");
System.out.println("");
contatore2=3;
}
if (premi.equals("quaterna")) {
System.out.print("Inserire nome vincitore: ");
nome=Input.readLine();
System.out.print("Inserire cognome vincitore: ");
cognome=Input.readLine();
d++;
vincitori[d]=(nome+" "+cognome+" quaterna");
System.out.println("");
System.out.println(nome+" "+cognome+" ha fatto quaterna");
System.out.println("");
contatore2=3;
}
if (premi.equals("ambo")) {
System.out.print("Inserire nome vincitore: ");
nome=Input.readLine();
System.out.print("Inserire cognome vincitore: ");
cognome=Input.readLine();
d++;
vincitori[d]=(nome+" "+cognome+" ambo");
System.out.println("");
System.out.println(nome+" "+cognome+" ha fatto ambo");
System.out.println("");
contatore2=3;
}
if (premi.equals("vincite")){
f=0;d++;
for(e=0;e<d;e++){
f++;
System.out.println(f+") "+ vincitori[e]);
}
System.out.println("INVIO per continuare");
nome="non \"\"";
while (! nome.equals("")){
nome=Input.readLine();
if (nome.equals(""))break;
System.out.println("premi INVIO non "+nome);
}
d--;
}
if (premi.equals("fine"))stop=1;
if (! premi.equals("ambo") ){
if (! premi.equals("terna")){
if (! premi.equals("quaterna")){
if (! premi.equals("vincite")){
if (! premi.equals("fine")){
System.out.println("Il comando/premio inserito non esiste scegliere tra:\ntombola\nquaterna\nterna\nambo\nvincite (per rivedere le vincite)\nfine (per finire il gioco)\nSe hai sbagliato premi invio");
premi = Input.readLine();
if (premi.equals("")) break;
contatore2--;
}
}
}
}
}
contatore2++;
}
}
if (contatore==90){
System.out.println("La tombola finisce qui:\nMi dispiace che nessuno abbia fatto Tombola\nLa prossima volta avrete piu fortuna");
break;
}
if (stop==1) break;
contatore++;
}
}
}
}
input.java che deve stare nella stessa cartella di Tombola.java
codice:
import java.io.BufferedReader;import java.io.InputStreamReader;
import java.io.IOException;
public class Input{
private static BufferedReader reader =
new BufferedReader(new InputStreamReader(System.in));
public static String readLine(){
String inputLine = "";
try{
inputLine = reader.readLine();
}
catch(IOException e){
System.out.println(e);
System.exit(1);
}
return inputLine;
}
public static int readInt(){
String inputString = readLine();
inputString = inputString.trim();
int n = Integer.parseInt(inputString);
return n;
}
public static double readDouble(){
String inputString = readLine();
inputString = inputString.trim();
double x = Double.parseDouble(inputString);
return x;
}
public static char readChar(){
String inputString = readLine();
char c = inputString.charAt(0);
return c;
}
}