Problem z pętlą

0

Witam. Moim problemem jest to iż po dziesiątym pytaniu powinno ukazać się pytanie czy chcemy grać dalej, lecz po dziesiątym pytaniu lecą one od nowa i tak w kółko. Czy ktoś mógłby mi pomóc bo jestem początkującym, i jeszcze nie za dużo ogarniam w tym temacie.

import java.util.Random;
import java.util.Scanner;

class proba2 {
    public static void main(String[] args) {

        Scanner skaner = new Scanner(System.in);

        System.out.println("Mam dla ciebie kilka prostych dzialan do rozwiazania.");

        int punkty = 0;
        int wybor=0;

        do {
            for (int i = 0; i < 10; ++i) {
                for (int j = 1; j < 10; j++) {


                    Random gra = new Random();

                    int liczba1 = gra.nextInt(200);
                    int liczba2 = gra.nextInt(200);

                    int wynik = liczba1 + liczba2;
                    System.out.println("");
                    System.out.println("Pytanie "+j+"/10");
                    System.out.println("Podaj wynik dodawania: " + liczba1 + "+" + liczba2 + " ");

                    int Scanner = skaner.nextInt();

                    if (Scanner == wynik) {
                        System.out.println("Dobrze!");
                        if (Scanner == wynik)
                            punkty++;


                    } else {
                        System.out.println("Źle, prawidłowy wynik to: " + wynik);


                    }

                    System.out.println("Twoje punkty: " + punkty);
                }
            }



                System.out.println(" ");
                System.out.println("Chcesz zagrac ponownie?");
                System.out.println("1 - TAK");
                System.out.println("2 - NIE");
                wybor = skaner.nextInt();

                switch (wybor) {

                    case 1:
                        System.out.println("Okej zróbmy to!");
                        break;

                    case 0:
                        System.out.println("Nie to nie.");
                        break;

                    default:
                        System.out.println("Naucz sie pisac glabie!");
                        System.exit(0);

                }



        }while(wybor!=0);



    }
}
0

Dlaczego stosujesz 2 pętle for. Z opisu Twojego zadania powinna być tylko jedna. Usuń pętle po zmiennej i.

0

Chcialem zrobic tak by numer rundy tez sie zwiekszal co pytanie i myslalem ze to tak zadziala, ale jak widac sie mylilem.

0

Przez rundę rozumiesz serię 10 pytań? Jeśli tak to dodaj licznik przed pętlą do while z początkową wartością 1. Zwiększaj go w momencie, gdy użytkownik wybierze, że chce grać dalej.

0

Nie nie nie! Źle napisałem chodziło mi o numer pytanie, że po serii 10 pytań gdy wybierzemy że chcemy zagrać ponownie żeby numer pytania się resetował.

0

To już powinno działać prawidłowo :) int j = 1. na nowo Ci ustawia licznik na 1. W przypadku, gdy miałeś pętle for w pętli for kod wykonał 11*10 razy. I dopiero wtedy pytał użytkownika czy chce grać dalej.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.