2015-05-07 9 views
0

В принципе мне нужно зацикливать это. Я создал игру, в которой вы отвечаете на вопросы о рыбе в runescape, и я хотел бы, чтобы она зациклилась, как будто бы вы «пошли снова» или что-то еще. Как я могу это сделать?Как мне выполнить эту программу?

import java.util.Scanner; 
public class GameDriver 
{ 
    public static void main(String a[]) 
{ 
    Game g = new Game(); 
    Scanner s = new Scanner(System.in); 
    String buf = null; 

    for(int i = 0; i < 4; i++) 
    { 
    System.out.print(g.askQuestion()); 
    buf = s.nextLine(); 

    if(g.confirm(buf)) 
     System.out.println("You're Right!"); 
    else 
     System.out.println("You're Wrong..."); 
    } 

    System.out.println("You got a " + g.getScore()); 
    } 
} 

ответ

0

PFB полный код «вы идете снова» программы:

import java.util.Scanner; 

public class GameDriver { 

    public static void Gamer(Scanner s) { 

     Game g = new Game(); 

     String buf = null; 

     for (int i = 0; i < 4; i++) { 
      System.out.print(g.askQuestion()); 
      buf = s.nextLine(); 

      if (g.confirm(buf)) 
       System.out.println("You're Right!"); 
      else 
       System.out.println("You're Wrong..."); 
     } 

     System.out.println("You got a " + g.getScore()); 

    } 

    public static void main(String a[]) { 

     Scanner s = new Scanner(System.in); 

     try { 

      while (true) { 
       System.out.print("Press Enter to continue; Type Exit to quit"); 

       if (s.nextLine().equalsIgnoreCase("exit")) { 
        s.close(); 
        break; 
       } 

       Gamer(s); 
      } 

     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 
} 
+0

@ jake-wilks Запустите это как есть и сообщите нам результат. – Rajesh

+0

Работал отлично СПАСИБО !!!! –

+0

@ jake-wilks Не могли бы вы проголосовать/отметить как решение? [Accept answer] stackoverflow.com/help/accepted-answer; [Голосовать] stackoverflow.com/help/why-vote – Rajesh

2

Вы могли бы сделать в то время (правда) цикл, а затем, если пользователь вводит бросить просто разорвать петлю следующим образом:

if (buf.equals("quit")) 
    break; 
+0

Где бы я вхожу, что в моем код? –

+0

Вы заменяете цикл for на цикл while, а затем перед выполнением g.confirm вы проверяете, введен ли пользователь «quit» –

+0

Вы хотите увидеть мой другой код? –

0

Согласно я понимаю ваш вопрос, вы хотите, чтобы петля над для loop.Kindly исправить меня, если я ошибаюсь.

char c='y';//'y' means user wants to go again 
while(c=='y')// to check the user reply. 
{ 

    for(int i = 0; i < 4; i++) 
    { 
     System.out.print(g.askQuestion()); 
     buf = s.nextLine(); 

     if(g.confirm(buf)) 
      System.out.println("You're Right!"); 
     else 
      System.out.println("You're Wrong..."); 
     } 

     System.out.println("You got a " + g.getScore()); 
     System.out.println("Do you wanna go again?"); 
     c=s.next.charAt(0); 
} 
0

Это кратчайшее решение держать весь код логики как:

import java.util.Scanner; 

public class GameDriver { 

    public static void Gamer(Scanner s) { 

     Game g = new Game(); 

     String buf = null; 

     for (int i = 0; i < 4; i++) { 
      System.out.print(g.askQuestion()); 
      buf = s.nextLine(); 

      if (g.confirm(buf)) 
       System.out.println("You're Right!"); 
      else 
       System.out.println("You're Wrong..."); 
     } 

     System.out.println("You got a " + g.getScore()); 

     System.out.print("Press Enter to continue; Type Exit to quit"); 

     if (s.nextLine().equalsIgnoreCase("exit")) { 
      s.close(); 
      System.exit(0); 
     } 

     Gamer(s); 
    } 

    public static void main(String a[]) { 
     Gamer(new Scanner(System.in)); 
    } 
} 
+0

@ jake-wilks Запустите этот код как есть и сообщите нам результат. – Rajesh

+0

Я использовал это спасибо, теперь мне нужно добавить наследование в мою общую программу, можете ли вы помочь мне с этим случайно? –

Смежные вопросы