czesc, mam maly problem i w zasadzie nie do konca wiem jak go wytlumaczyc, robie taki multiprogram sobie i jedna z funkcji jest test wiedzy, wykorzystalem listy tablicowe w tym celu, wiem, ze moglem to zrobic prosciej, ale probuje sobie cwiczyc rozne warianty.. i problem lezy w tym, ze nie moge zadeklarowac w glownej klasie obiektu, ktory wywolywalby metode testu z innej klasy, wklejam kod:
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
Scanner sc = new Scanner(System.in);
Kalkulator kalk = new Kalkulator();
TestWiedzy testwiedzy = new TestWiedzy(); - **foo** tutaj jest blad - "the constructor TestWiedzy() is undefined"
{
boolean run = true;
while (run){
System.out.println("***Witaj w moim multiprogramie***");
System.out.println("***Wybierz jedna z podanych funkcji wpisujac przypisana jej cyfre***");
System.out.println("1. Prosty kalkuator");
System.out.println("2. Krotki test wiedzy z geografii");
System.out.println("3. Notatnik");
System.out.println("4. Wyjscie");
int wybor = sc.nextInt();
switch (wybor)
{
case 1:
kalk.kalkulator();
break;
case 2:
testwiedzy.test();
break;
case 3:
// in progress //
break;
case 4:
System.exit(wybor);
break;
default:
System.out.println("Taka opcja nie istnieje");
break;
}
}
}
}
}
a to klasa TestWiedzy oraz PytaniaDoTestu
import java.util.ArrayList;
import java.util.Scanner;
public class TestWiedzy extends PytaniaDoTestu {
public TestWiedzy(ArrayList<PytaniaDoTestu> p) {
super(p);
}
Scanner sc = new Scanner(System.in);
int punkty;
void test(){
System.out.println("Wybrales opcje testu, teraz sprobuj odpowiedz na 10 pytan wpisujac odpowiednia odpowiedz mala litera");
System.out.println("Powodzenia!");
System.out.println(pytania.get(1));
System.out.println(odpowiedzi.get(1));
String odp1 = sc.nextLine();
if (odp1.equalsIgnoreCase("b")) punkty++;
System.out.println(pytania.get(2));
System.out.println(odpowiedzi.get(2));
String odp2 = sc.nextLine();
if (odp2.equalsIgnoreCase("b")) punkty++;
System.out.println(pytania.get(3));
System.out.println(odpowiedzi.get(3));
String odp3 = sc.nextLine();
if (odp3.equalsIgnoreCase("a")) punkty++;
System.out.println(pytania.get(4));
System.out.println(odpowiedzi.get(4));
String odp4 = sc.nextLine();
if (odp4.equalsIgnoreCase("a")) punkty++;
System.out.println(pytania.get(5));
System.out.println(odpowiedzi.get(5));
String odp5 = sc.nextLine();
if (odp5.equalsIgnoreCase("b")) punkty++;
System.out.println(pytania.get(6));
System.out.println(odpowiedzi.get(6));
String odp6 = sc.nextLine();
if (odp6.equalsIgnoreCase("b")) punkty++;
System.out.println(pytania.get(7));
System.out.println(odpowiedzi.get(7));
String odp7 = sc.nextLine();
if (odp7.equalsIgnoreCase("d")) punkty++;
System.out.println(pytania.get(8));
System.out.println(odpowiedzi.get(8));
String odp8 = sc.nextLine();
if (odp8.equalsIgnoreCase("c")) punkty++;
System.out.println("Zdobyles " +punkty+ " punktow na 8 mozliwych");
return;
}
}
import java.util.ArrayList;
public class PytaniaDoTestu {
ArrayList<PytaniaDoTestu> pytania = new ArrayList<>(8);
ArrayList<PytaniaDoTestu> odpowiedzi = new ArrayList<>(8);
public PytaniaDoTestu(ArrayList<PytaniaDoTestu> p){
p = pytania;
}
public PytaniaDoTestu(String string) {
}
{
pytania.add(1, new PytaniaDoTestu( "W jakim województwie lezy Zambrow?"));
pytania.add(2, new PytaniaDoTestu( "Jaka jest stolica Portugalii?"));
pytania.add(3, new PytaniaDoTestu( "Jakie gory oddzielaja Europe i Azje?"));
pytania.add(4, new PytaniaDoTestu( "Czy Malta nalezy do Unii Europejskiej?"));
pytania.add(5, new PytaniaDoTestu( "Ktore miasto w USA jest najwieksze?"));
pytania.add(6, new PytaniaDoTestu( "Na jakim morzu lezy Kuba?"));
pytania.add(7, new PytaniaDoTestu( "Tirana jest stolica jakiego panstwa?"));
pytania.add(8, new PytaniaDoTestu( "W jakim panstwie znajduja sie miasta: Nicea i Lens?"));
odpowiedzi.add(1, new PytaniaDoTestu("A. Podkarpackim, B. Podlaskim, C. Swietokrzyskim, D. Mazowieckim"));
odpowiedzi.add(2, new PytaniaDoTestu("A. Porto, B. Lizbona, C. Madryt, D. Marsylia"));
odpowiedzi.add(3, new PytaniaDoTestu("A. Ural, B. Karpaty, C. Pireneje, D. Kaukaz"));
odpowiedzi.add(4, new PytaniaDoTestu("A. Tak, B. Nie"));
odpowiedzi.add(5, new PytaniaDoTestu("A. Waszyngton, B. Nowy Jork, C. Los Angeles, D. San Diego"));
odpowiedzi.add(6, new PytaniaDoTestu("A. Adriatyckim, B. Karaibskim, C. Srodziemnym, D. Hebrydzkie"));
odpowiedzi.add(7, new PytaniaDoTestu("A. Czarnogory, B. Chorwacji, C. Bulgarii, D. Albanii"));
odpowiedzi.add(8, new PytaniaDoTestu("A. Belgia, B. Szwajcaria, C. Francja, D. Austria"));
}
}
Gdzie popelniam blad i jak mam go zlikwidowac? Prosze o wyrozumialosc, bo dopiero raczkuje ;)