Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - simulatore amici di maria de filippi
Forum - Java - simulatore amici di maria de filippi

Avatar
gigyrock (Normal User)
Newbie


Messaggi: 4
Iscritto: 19/04/2011

Segnala al moderatore
Postato alle 18:04
Martedì, 19/04/2011
ragazzi ho creato un simulatore delle sfide che fanno al programma di maria de filippi...mi serve per fare una cosa con gli amici....e mi servirebbe entro sta sera però c'è un problema che il vincitore risulta l'ultimo concorrente e non quello che ha raggiunto un voto più alto....
ho guardato e riguardato i cicli e mi pare tutto giusto
il programma non fa altro che chiedere il numero dei partecipanti (sfidanti), il numero dei votanti (quindi dei voti),
e poi somma i voti ricevuti per ogni partecipante....
quindi di regola dovrebbe risultare il vincitore chi ha il voto più alto

per favore trovate il problema xD
Codice sorgente - presumibilmente Java

  1. import java.util.*;
  2. import javax.swing.*;
  3. import java.lang.*;
  4. import java.awt.*;
  5.  
  6. public class Amici
  7. {
  8.         public static void main (String [] args)
  9.         {
  10.                 String numpartecipanti; String numvotanti; int max=0; int sommavoti=0; String vincitore=""; int colonnamax=0;String vincitore1=""; String vincitore2="";
  11.                 numpartecipanti =JOptionPane.showInputDialog("Inserisci il numero partecipanti");
  12.                 numvotanti= JOptionPane.showInputDialog("inserisci il numero dei votanti");
  13.                
  14.                 int numerovotanti=Integer.parseInt(numvotanti);
  15.                 int numeropartecipanti= Integer.parseInt(numpartecipanti);
  16.                 String [][] tabella=new String [numeropartecipanti+2][numerovotanti];
  17.                 for (int i=0;i<numeropartecipanti;i++)
  18.                 {
  19.                         tabella [0][i]= JOptionPane.showInputDialog("Inserisci Nome partecipante numero " +(i+1));
  20.                 }
  21.                 for (int j=0;j<numeropartecipanti;j++)
  22.                 {
  23.                         for(int i=0;i<numerovotanti;i++)
  24.                         {
  25.                                 sommavoti+= Integer.parseInt(JOptionPane.showInputDialog("Inserisci voto per " + tabella [0][j]));
  26.                         }
  27.                         if (sommavoti>max)
  28.                         {
  29.                                 colonnamax=j;
  30.                                 max=sommavoti;
  31.                                 vincitore1= tabella[0][colonnamax];
  32.                                 vincitore=vincitore1;
  33.                        
  34.                         }
  35.                         else
  36.                         {
  37.                                 if(sommavoti==max)
  38.                                 {
  39.                                
  40.                                 colonnamax=j;
  41.                                 vincitore2= tabella[0][colonnamax];
  42.                                 vincitore=vincitore1+" e " +vincitore2;
  43.                                 }
  44.                         }
  45.                 }
  46.                
  47.                
  48.                
  49.                 Object[] options = { "OK", "CANCEL" };
  50.                 JOptionPane.showOptionDialog(null, "Clicca su ok per sapere il nome del vincitore", "NOME DEL VINCITORE",
  51.                 JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
  52.                 null, options, options[0]);
  53.                 JOptionPane.showMessageDialog(null, "il vincitore è "+ vincitore, vincitore, JOptionPane.ERROR_MESSAGE);
  54.                 System.out.println("Il vincitore è "+ vincitore);
  55.                 System.exit(0);
  56.         }
  57. }


PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 18:10
Martedì, 19/04/2011
ti dimentichi di azzerare sommavoti per ogni partecipante

PM Quote
Avatar
gigyrock (Normal User)
Newbie


Messaggi: 4
Iscritto: 19/04/2011

Segnala al moderatore
Postato alle 18:27
Martedì, 19/04/2011
Testo quotato

Postato originariamente da HeDo:

ti dimentichi di azzerare sommavoti per ogni partecipante


perfettooo grazie errore di distrazione, però ora non mi va la seconda parte dell'if...cioè nel caso in cui due partecipanti hanno lo stesso voto...

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 18:31
Martedì, 19/04/2011
Testo quotato

Postato originariamente da gigyrock:

Testo quotato

Postato originariamente da HeDo:

ti dimentichi di azzerare sommavoti per ogni partecipante


perfettooo grazie errore di distrazione, però ora non mi va la seconda parte dell'if...cioè nel caso in cui due partecipanti hanno lo stesso voto...



semplicemente perchè non puoi farlo così.


PM Quote
Avatar
gigyrock (Normal User)
Newbie


Messaggi: 4
Iscritto: 19/04/2011

Segnala al moderatore
Postato alle 18:37
Martedì, 19/04/2011
Testo quotato

Postato originariamente da HeDo:

Testo quotato

Postato originariamente da gigyrock:

Testo quotato

Postato originariamente da HeDo:

ti dimentichi di azzerare sommavoti per ogni partecipante


perfettooo grazie errore di distrazione, però ora non mi va la seconda parte dell'if...cioè nel caso in cui due partecipanti hanno lo stesso voto...



semplicemente perchè non puoi farlo così.



ok ho trovato la giusta soluzione questa è la correzione
Codice sorgente - presumibilmente Java

  1. if (sommavoti>max)
  2.                         {
  3.                                 colonnamax=j;
  4.                                 max=sommavoti;
  5.                                 vincitore1= tabella[0][colonnamax];
  6.                                 vincitore=vincitore1;                  
  7.                         }
  8.                         else
  9.                         {
  10.                                 if(sommavoti==max)
  11.                                 {
  12.                                
  13.                                 colonnamax=j;
  14.                                 vincitore2= tabella[0][colonnamax];
  15.                                 vincitore+=" "+vincitore2;
  16.                                 }
  17.                         }
  18.                 }


PM Quote
Avatar
gigyrock (Normal User)
Newbie


Messaggi: 4
Iscritto: 19/04/2011

Segnala al moderatore
Postato alle 18:38
Martedì, 19/04/2011
ma c'è un modo per trasformare l'agoritmo java in un eseguibile o simile?

PM Quote