Jag håller på med ett litet "mastermind" i java, men jag har ett problem, nämligen att jag vill ha en funktion som visar hur många gånger jag har gissat... för att ger er en översikt så lägger jag upp koden här.. nu kan jag inte java ( har aldrig skrivit en rad i det) HejRäknare i java??
Tack på förhand
public class sluttest3
{
public static void main (String [] slumptal)
{
System.out.println("Datorn har slumpat fram ett heltal mellan 1 och 100");
System.out.println("foersoek gissa vilket.");
System.out.println( );
//vanligt skitsnack
double slump=1+Math.random()*99;
int slutslump=(int) slump;
//slumpfunktionen
int b=0;
while (b<10)
//loopfunktionen
{
int givetSvar=Keyboard.readInt();
if (givetSvar<slutslump)
{
System.out.println("Din gissning var för liten");
System.out.println( );
}
else if (givetSvar>slutslump)
{
System.out.println("Din gissning var för stor");
System.out.println( );
}
else
{
System.out.println("Din gissning var rätt");
System.out.println("GRATTIS!");
System.out.println( );
}
if (givetSvar==slutslump)
{
break;
}
System.out.println("Din gissning var " + givetSvar);
System.out.println(" ");
System.out.println( );
if (givetSvar==slutslump)
{
int n=0;
}
}
}
}Sv: Räknare i java??
men det är ju ganska likt c# så detta kanske skulle funka:
public class sluttest3
{
<b> private static int Count=0;</b>
public static void main (String [] slumptal)
{
System.out.println("Datorn har slumpat fram ett heltal mellan 1 och 100");
System.out.println("foersoek gissa vilket.");
System.out.println( );
//vanligt skitsnack
double slump=1+Math.random()*99;
int slutslump=(int) slump;
//slumpfunktionen
int b=0;
while (b<10)
//loopfunktionen
{
int givetSvar=Keyboard.readInt();
if (givetSvar<slutslump)
{
System.out.println("Din gissning var för liten");
System.out.println( );
<b>Count++;</b>
}
else if (givetSvar>slutslump)
{
System.out.println("Din gissning var för stor");
System.out.println( );
<b>Count++;</b>
}
else
{
System.out.println("Din gissning var rätt");
System.out.println("GRATTIS!");
System.out.println( );
}
if (givetSvar==slutslump)
{
break;
}
System.out.println("Din gissning var " + givetSvar);
System.out.println(" ");
System.out.println( );
if (givetSvar==slutslump)
{
int n=0;
}
}
}
}
//RogerSv: Räknare i java??
Du räknar inte upp b som jag antar är räknaren på hur månag gånger du gissat.
Du sätter n = 0 om man gissat rätt, borde vara b som du sätter till 0
Kommer du hamna i sista if'en om man gissar rätt, du gör ju break precis ovanför utskrifter om man gissat rätt?
om du gör System.out.println(b) så (och räknar upp den 1 ggn (b++) för varje varv man har fel) borde det bli rätt.
Som det är nu kommer du att loopa för evigt såvida man inte gissar rätt förståss :-)
Om du antar att man kommer att gissa rätt så småningom med ledning av de små "hintar" man får är det snyggare att använda en boolean som sätts till true eller false som man loopar på.
Mvh
/B#