Witam,
Jestem nowy na forum jak też nowy w Javie opanowałem dopiero warunki, pętle, tablice tak o oraz funkcje.
Ale mam problem ze swoim pseudo-quizem.
Ponieważ chce, żeby zliczał punkty do tablicy ale warunki itp jest w try, i poza tym już mi nie widzi danych co jest oczywiste ale jak zrobić żeby widziało?
package quiz;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StreamTokenizer;
public class Main
{
/* FUNKCJA
static boolean odp(double q1, double q2, double q3, double q4)
{
if (q1 == 1 || q1 == 2 || q1 == 3 || q1 == 4)
if (q2 == 1 || q2 == 2 || q2 == 3 || q2 == 4)
if (q3 == 1 || q3 == 2 || q3 == 3 || q3 == 4)
if (q4 == 1 || q4 == 2 || q4 == 3 || q4 == 4)
return true;
else return false;
else return false;
else return false;
else return false;
}
*/
public static void main(String[] args)
{
System.out.println("Malutki quiz ;)");
boolean zacznij = true; // zmienna do I pętli
double odpI = 0;
// TABLICE
int wojna[] = new int [5];
//int bio[] = new int [5];
System.out.println("Staniesz przed wyborem kategorii quizu");
System.out.println("Jesteś gotowy?");
System.out.println("Mam nadzieje, że tak...");
Reader czyt = new BufferedReader (new InputStreamReader(System.in)); // buforowanie
StreamTokenizer wart = new StreamTokenizer(czyt); // deklarowanie funkcji odczytującej
System.out.println("Wciśnij: 1 - jeżeli interesuję Cie II Wojna Światowa");
System.out.println("Wciśnij: 2 - jeżeli interesuję Cie Biologia");
// PĘTLA - przy podaniu złego znaku.
do
{
try
{
wart.nextToken(); // przygotowanie do odczytu
odpI = wart.nval;
}
catch (IOException e)
{
System.out.println("Co Ty wpisałeś?...");
}
if (odpI==1 || odpI==2)
{
zacznij = false;
}
else
{
System.out.println("Miałeś wcisnąć 1 lub 2, więc jeszcze raz pytam:");
zacznij = true;
}
}while(zacznij==true);
// II Wojna Światowa
// zmienne do odpowiedzi
double q1 = 0;
double q2 = 0;
double q3 = 0;
double q4 = 0;
double q5 = 0;
// boolean dalej;
// dalej = odp(q1,q2,q3,q4);
boolean ponow = true;
// Warunek na II WŚ + treśc quizu.
if (odpI==1);
{
System.out.println("Więc wybrałeś II Wojne Światową. Bardzo mnie to cieszy.");
System.out.println("Zadam Ci tylko 5 pytań, gdzie będziesz miał do wyboru 4 odpowiedzi.");
System.out.println("Za każdą poprawną odpowiedź otrzymujesz 1pkt, za złą nic się nie dzieje.");
System.out.println("Na końcu podlicze Twoje punkty.");
// PYTANIE 1
System.out.println("Pytanie pierwsze:");
System.out.println("W którym roku wybuchła II Wojna Światowa?");
System.out.println("1 - w 1939.\n2 - w 1914. \n3 - w 1938. \n4 - w 1930.");
do
{
try
{
wart.nextToken();
q1 = wart.nval;
if(q1 == 1 || q1 == 2 || q1 == 3 || q1 == 4)
ponow = false;
else
{
System.out.println("Podaj liczbe od 1 do 4...");
ponow = true;
}
}
catch (IOException ee)
{
System.out.println("Co Ty wpisałeś?...");
}
}while(ponow==true);
// PYTANIE 2
System.out.println("Pytanie drugie:");
System.out.println("O której godzine oficjalnie rozpoczęła się II Wojna Światowa");
System.out.println("1 - o 4:43.\n2 - o 4:55. \n3 - o 4:45. \n4 - o 4:35.");
do
{
try
{
wart.nextToken();
q2 = wart.nval;
if(q2 == 1 || q2 == 2 || q2 == 3 || q2 == 4)
ponow = false;
else
{
System.out.println("Podaj liczbe od 1 do 4...");
ponow = true;
}
}
catch (IOException eee)
{
System.out.println("Co Ty wpisałeś?...");
}
}while(ponow==true);
// PYTANIE 3
System.out.println("Pytanie trzecie:");
System.out.println("Kiedy Rosja wkroczyła do Polski?");
System.out.println("1 - w 17.09.1934\n2 - w 17.09.1939. \n3 - w 19.07.1940 \n4 - w 17.09.1993");
do
{
try
{
wart.nextToken();
q3 = wart.nval;
if(q3 == 1 || q3 == 2 || q3 == 3 || q3 == 4)
ponow = false;
else
{
System.out.println("Podaj liczbe od 1 do 4...");
ponow = true;
}
}
catch (IOException eeee)
{
System.out.println("Co Ty wpisałeś?...");
}
}while(ponow==true);
// PYTANIE 4
System.out.println("Pytanie czwarte:");
System.out.println("Kto był kancelrzem Niemiec?");
System.out.println("1 - Hitler\n2 - Mussolini. \n3 - Stalin \n4 - Lenin");
do
{
try
{
wart.nextToken();
q4 = wart.nval;
if(q4 == 1 || q4 == 2 || q4 == 3 || q4 == 4)
ponow = false;
else
{
System.out.println("Podaj liczbe od 1 do 4...");
ponow = true;
}
}
catch (IOException eeeee)
{
System.out.println("Co Ty wpisałeś?...");
}
}while(ponow==true);
// PYTANIE 5
System.out.println("Pytanie czwarte:");
System.out.println("Kiedy zakończyła się II Wojna Światowa?");
System.out.println("1 - 8 V 1945\n2 - 5 VIII 1945. \n3 - 12 II 1945 \n4 - 24 XII 1945");
do
{
try
{
wart.nextToken();
q5 = wart.nval;
if(q5 == 1 || q5 == 2 || q5 == 3 || q5 == 4)
ponow = false;
else
{
System.out.println("Podaj liczbe od 1 do 4...");
ponow = true;
}
}
catch (IOException eeeeee)
{
System.out.println("Co Ty wpisałeś?...");
}
}while(ponow==true);
System.out.println("Dzięki za rozwiązanie quizu, pracuję nad punktacją oraz optymalizacją nie wspominając już o bilogii.");
try {
wart.nextToken();
q5 = wart.nval;
} catch (IOException ex) {
System.out.println("Co Ty wpisałeś?...");
}
}
}
}
Ten kod pewnie jest do optymalizacji ale na razie nie wiem jak, uczę się chce skończyć a później może skrócić go tą funkcją. Zawsze to n lini mniej ;)
Na końcu jest jeszcze raz wpisywanie danych, żeby program od razu się nie wyłączał w okienku (nie wiem jak to zastąpić dlatego zrobiłem tak)
Pozdrawiam, :)