Just nu i M3-nätverket
Gå till innehåll

Mina variabler är felskrivna!, hjälp behöves!


Andy_85

Rekommendera Poster

Hej alla java programmerare!

Problem! Jag vill skapa ett matematik program där tio additoner först ställs sedan ska det memoreras fel/rätt på frågorna och skrivas ut sist i koden. Därför vill jag definera variabler för varje additon och sedan lägga ihopp alla olika för att skapa ett resultat.

 

Nu är problem att mina variabler inte når mina koder utan för metoden (if eller else).

Tackar för all hjälp!!!

 

 

// Denna Klassen behöver andvända importerade fördefinerade medtoder såsom
// BufferedReader och ISR därför anger jag att dom ska importeas
import java.io.*;
public class Whiletest
{
public static void main(String[] args)throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
//Ovanstående definerar "in" som ett objekt som lagrar skriven text
System.out.println("Ange Lösenord:");
while((in.readLine()).equals("Mobila"))
//Här infogar jag ett sorts av lösenord utan att andvändare vet det går inte
//mitt program igång
{

String[] introduktion = new String[9];
introduktion[0]="";
introduktion[1]="";
introduktion[2]="";
introduktion[3]="";
introduktion[4]="                          --=Tio enkla additioner=--";
introduktion[5]="";
introduktion[6]="Viktigt! Då du svarar fel för du ingen omchans så tänk noga igenom dina svar!";
introduktion[7]="                          Ps.Lycka till mvh Andreas";
introduktion[8]="";
System.out.println(introduktion[0]);
System.out.println(introduktion[1]);
System.out.println(introduktion[2]);
System.out.println(introduktion[3]);
System.out.println(introduktion[4]);
System.out.println(introduktion[5]);
System.out.println(introduktion[6]);
System.out.println(introduktion[7]);
System.out.println(introduktion[8]);


//Här är en massa fin text om mitt program
//Nu Börjar koder för själva Matteprogrammet

String[] svar = new String[3];
svar[0]="Tyvärr, fel            0";
svar[1]="Korrekt                1";
svar[2]="";

System.out.println("10+23:");

if((in.readLine()).equals("33"))
{
System.out.println(svar[1]);
int i=1;
}

else
{
System.out.println(svar[0]);
int i=0;
}
System.out.println(svar[2]);
System.out.println("43+26:");

if((in.readLine()).equals("69"))
{
System.out.println(svar[1]);
int b=1;
}

else
{
System.out.println(svar[0]);
int b=0;
}

System.out.println(svar[2]);
System.out.println("21+32:");

if((in.readLine()).equals("53"))
{
System.out.println(svar[1]);
int c=1;
}

else
{
System.out.println(svar[0]);
int c=0;
}
System.out.println(svar[2]);
System.out.println("34+3:");

if((in.readLine()).equals("37"))
{
System.out.println(svar[1]);
int d=1;
}

else
{
System.out.println(svar[0]);
int d=0;
}
System.out.println(svar[2]);
System.out.println("22+76:");

if((in.readLine()).equals("98"))
{
System.out.println(svar[1]);
int d=1;
}

else
{
System.out.println(svar[0]);
int d=0;
}
System.out.println(svar[2]);
System.out.println("32+43:");

if((in.readLine()).equals("75"))
{
System.out.println(svar[1]);
int e=1;
}

else
{
System.out.println(svar[0]);
int e=0;
}
System.out.println(svar[2]);
System.out.println("21+42:");

if((in.readLine()).equals("63"))
{
System.out.println(svar[1]);
int f=1;
}

else
{
System.out.println(svar[0]);
int f=0;
}
System.out.println(svar[2]);
System.out.println("15+17:");

if((in.readLine()).equals("32"))
{
System.out.println(svar[1]);
int g=1;
}

else
{
System.out.println(svar[0]);
int g=0;
}
System.out.println(svar[2]);
System.out.println("24+54:");

if((in.readLine()).equals("78"))
{
System.out.println(svar[1]);
int h=1;
}

else
{
System.out.println(svar[0]);
int h=0;
}
System.out.println(svar[2]);
System.out.println("31+63:");

if((in.readLine()).equals("94"))
{
System.out.println(svar[1]);
int i=1;
}

else
{
System.out.println(svar[0]);
int i=0;
}
System.out.println(svar[2]);
System.out.println("92+4");

if((in.readLine()).equals("96"))
{
System.out.println(svar[1]);
int b=1;
}

else
{
System.out.println(svar[0]);
int b=0;
}
System.out.println(svar[2]);
System.out.println("Testet är nu slut");
System.out.println("Copyright Andreas");


// Här vill jag ange antal rätt??? behöver en metod som hämtar mina integer
// Värden och presenterar dom här.


}
}
}

[inlägget ändrat 2002-11-04 13:10:33 av Andy_85]

Länk till kommentar
Dela på andra webbplatser

-Patrik Johansson-

HEj

Först och främst känns inte detta särskilt objektorienterat!

Man skulle kunna tänka sig ett objekt för att ställda fråga så blir det genast bättre men i alla fall.

 

Problemmet är att du deklarerar dina varibler inuti ifblock vilket gör att dessa varibler inte "finns" utan för blocket.

Deklarera alla dina variabler innan mainmetoden och deklrera dem som private ex

private int a;

 

 

/Neox -(Patrik J)

”Gravitation can not be held responsible for people falling in love”
- citat av Albert Einstein

 

Länk till kommentar
Dela på andra webbplatser

Jo det stämmer mycket väll som du sa.

Har gjort om det genom att sätta if-else satser inom metoder som returnerar värde till metoden och sedan skriver ut sammanlagda metoder. Eftersom jag är nybörjare så skriver jag på detta enkla sätt utan instanvariabler och implementationer. Tack för tipset.

Kom på att private + this. hade oxå löst detta problem...

mvh Andreas

 

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...
-Patrik Johansson-

Tycker nog att du skall försöka att tänka så objektorienterat som det går så att du inte lägger dig till med någon dålig vana.

 

/Neox -(Patrik J)

”Gravitation can not be held responsible for people falling in love”
- citat av Albert Einstein

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...