Oppure

Loading
19/04/11 16:04
gigyrock
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
import java.util.*;
import javax.swing.*;
import java.lang.*;
import java.awt.*;

public class Amici
{
	public static void main (String [] args)
	{
		String numpartecipanti; String numvotanti; int max=0; int sommavoti=0; String vincitore=""; int colonnamax=0;String vincitore1=""; String vincitore2="";
		numpartecipanti =JOptionPane.showInputDialog("Inserisci il numero partecipanti");
		numvotanti= JOptionPane.showInputDialog("inserisci il numero dei votanti");
		
		int numerovotanti=Integer.parseInt(numvotanti);
		int numeropartecipanti= Integer.parseInt(numpartecipanti);
		String [][] tabella=new String [numeropartecipanti+2][numerovotanti];
		for (int i=0;i<numeropartecipanti;i++)
		{
			tabella [0][i]= JOptionPane.showInputDialog("Inserisci Nome partecipante numero " +(i+1));
		}
		for (int j=0;j<numeropartecipanti;j++)
		{
			for(int i=0;i<numerovotanti;i++)
			{
				sommavoti+= Integer.parseInt(JOptionPane.showInputDialog("Inserisci voto per " + tabella [0][j]));
			}
			if (sommavoti>max)
			{
				colonnamax=j;
				max=sommavoti;
				vincitore1= tabella[0][colonnamax];
				vincitore=vincitore1;
			
			}
			else
			{
				if(sommavoti==max)
				{
				
				colonnamax=j;
				vincitore2= tabella[0][colonnamax];
				vincitore=vincitore1+" e " +vincitore2;
				}
			}
		}
		
		
		
		Object[] options = { "OK", "CANCEL" };
		JOptionPane.showOptionDialog(null, "Clicca su ok per sapere il nome del vincitore", "NOME DEL VINCITORE",
		JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
		null, options, options[0]);
		JOptionPane.showMessageDialog(null, "il vincitore è "+ vincitore, vincitore, JOptionPane.ERROR_MESSAGE);
		System.out.println("Il vincitore è "+ vincitore);
		System.exit(0);
	}
}
aaa
19/04/11 16:10
HeDo
ti dimentichi di azzerare sommavoti per ogni partecipante
aaa
19/04/11 16:27
gigyrock
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...
aaa
19/04/11 16:31
HeDo
Postato originariamente da gigyrock:

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ì.

aaa
19/04/11 16:37
gigyrock
Postato originariamente da HeDo:

Postato originariamente da gigyrock:

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
	if (sommavoti>max)
			{
				colonnamax=j;
				max=sommavoti;
				vincitore1= tabella[0][colonnamax];
				vincitore=vincitore1;			
			}
			else
			{
				if(sommavoti==max)
				{
				
				colonnamax=j;
				vincitore2= tabella[0][colonnamax];
				vincitore+=" "+vincitore2;
				}
			}
		}
aaa
19/04/11 16:38
gigyrock
ma c'è un modo per trasformare l'agoritmo java in un eseguibile o simile?
aaa