2015-06-05 4 views
0

Я пробовал цикл do и цикл while. Я просто не могу понять, где поставить цикл так, как только программа полностью запустится. Я хочу, чтобы он спросил пользователя «Да, я хочу продолжить» или «Нет», и он заканчивается. Это назначение класса, и я использую eclipse, и это исправляет что-то, что действительно послало меня за цикл.Я не могу определить, где поставить петлю

Код

import java.util.Scanner; 

public class studentgpa { 
    public static void main(String[] args) { 
     Scanner consoleInput = extracted(); 
     printGPA(consoleInput);  
    } 
    public static void printGPA(Scanner input) { 
     System.out.println("Enter a student record: "); 
     String name = extracted().next(); 
     System.out.print("Enter Number of grades you will be entering: "); 
     int count = extracted().nextInt(); 
     int sum = 0; 
     System.out.println("Enter Grades: 95 enter 98 enter and so on "); 
     for (int i = 1; i <= count; i++) { 
      sum += extracted().nextInt(); 
     } 
     double average = (double) sum/count; 

     System.out.println(name + "'s grade is " + average); 
    } 
    private static Scanner extracted() { 
     return new Scanner(System.in); 
    } 
} 
+0

Зачем вам нужен цикл? Для многих студентов? –

+0

да. Чтобы добавить несколько учеников, скажите, как Мэтью делает оценки, а затем сам и так далее. – Unholy

+0

Добавьте цикл 'while' в свой' main' метод и вызовите 'printGPA' на основе' Yes' или 'No'. :) –

ответ

0

Просто начать функцию printGPA с String, как этот

String continueLoop="Yes"; 
while("Yes".equals(continueLoop)){ 
///put the code you already have 
continueLoop=extracted().next(); 
} 

кода выше петли до тех пор, пока ввести нечто иное, чем «Да».

+0

Вы имеете в виду условие if, будет ли цикл ??? – Codebender

+0

@AbishekManoharan Ха-ха, извините, что в последнее время я много использую goto :). Я исправлю свой ответ –

+0

Я попытался и сменил его с Eclipse, добавив все извлеченные и некоторые другие строки, которые я потерял. – Unholy

1

Вы должны были бы обернуть содержание внутри основной в дел в то время как цикл, как это и предложит пользователю с просьбой, если они хотят продолжать

do { 
    Scanner consoleInput = extracted(); 
    printGPA(consoleInput); 
    System.out.println("Do you want to add another student? (Yes/No)"); 
    String continue = consoleInput.nextLine(); // storing the user's response 
} while (continue.equals("Yes")); 
0

Если вам необходимо обратиться к пользователю, то вам нужно добавить a loop на begining от printGPA.

String ans="yes"; 
while(ans.equalsIgnoreCase("Yes")){//checks the user input is yes or no 
     //your code 
     System.out.println("Do you want to continue?"); 
     ans=extracted().next(); 
} 

После изменений, pringtGPA должен выглядеть следующим образом

public static void printGPA(Scanner input) 
{ 
     String ans="yes"; 
     while(ans.equalsIgnoreCase("Yes")){ 
      System.out.println("Enter a student record: "); 
      String name = extracted().next(); 
      System.out.print("Enter Number of grades you will be entering: "); 
      int count = extracted().nextInt(); 
      int sum = 0; 
      System.out.println("Enter Grades: 95 enter 98 enter and so on "); 
      for (int i = 1; i <= count; i++) { 
       sum += extracted().nextInt(); 
      } 
      double average = (double) sum/count; 

      System.out.println(name + "'s grade is " + average); 

      System.out.println("Do you want to continue?"); 
      ans=extracted().next(); 
     }//end of while loop 
} 

Надежда это helps.Happy Coding !!

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