2013-10-01 2 views
-5

Я уже сделал это так, чтобы он определил, является ли вход пользователя простым числом или не простое число, но теперь я должен сделать это так что он попросит пользователя, хочет ли он проверить другой номер и ждет, пока пользователь вводит «Y» или «y», как «да», «n» или «N», как нет. Если да, повторите три шага. Если нет, выйдите из программы. Для всех других букв отклоните ti и попросите пользователя ввести только «y» или «n».Java: Как спросить пользователя, хочет ли он продолжить программу

import java.util.*; // importing package util 


public class Prime 
{ 
    public static void main (String args[]) 
    { 
     int num,count=0; 
     Scanner scan = new Scanner(System.in); //scanner for input 
     System.out.print("Enter any number : "); 
     num = scan.nextInt(); 
     for(int i=2; i <= (num/2); i++) 
     { 
      if((num % i) == 0) 
      { 
       count++; 
       break; 
      } 
     } 
     if((count==0) && (num!= 1)) 
     System.out.println(num + " is a prime number."); 
     else 
     System.out.println(num + " is not a prime number."); 
    } 
} 
+0

Если вы смогли закодировать до того, что вы показываете, остальное должно быть довольно легко, вы пробовали? –

+5

Начнем с просмотра [do-while] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.html) петель – MadProgrammer

+0

@MadProgrammer: Точно. Мальчик, это возвращает меня обратно. – user2339071

ответ

1

пойти с switch case

System.out.print("DO you to continue Y/N: "); 
    String answer = scan.nextLine(); 


    switch (answer) 
    { 
    case "Y" 
    case "y": //WRITE YOUR CODE HERE 
      break; 
    case "N" 
    case "n"://exit from program; 
      break; 

    default : 
      System.out.println("invalid choice") ; 
      break; 
    } 
+0

Это не сработает, когда я добавлю его в свою программу. –

+0

см. Обновленный мой ответ. –

+0

Вы можете включать только значения int или Integer – singe3

0

Как об использовании время цикла

while (!"N".equals(inputValues) { 
//Keep asking for user inputs 

}

+1

'equalsIgnoreCase' будет лучше поймать ...? – MadProgrammer

2

Это является довольно стандартным способом я узнал, когда я начал программировать.

Используйте do-while цикл вроде этого:

do 
{ 
System.out.print("Enter any number : "); 
     num = scan.nextInt(); 
     for(int i=2; i <= (num/2); i++) 
     { 
      if((num % i) == 0) 
      { 
       count++; 
       break; 
      } 
     } 
     if((count==0) && (num!= 1)) 
     System.out.println(num + " is a prime number."); 
     else 
     System.out.println(num + " is not a prime number."); 
     System.out.println("Continue(Y/N)"); 
     char a = scan.next(); 

} while(a=='Y'|| a=='y') 

Если пользователь вводит что-нибудь еще, то цикл будет ломаться. :)

+0

'@ user' Согласно требованию, если пользователь вводит что-либо еще, пользователь снова запрашивает ввод (Y/N). – HybrisFreelance

+0

Я думаю, что код может быть соответствующим образом изменен человеком, задающим вопрос. Мы здесь, чтобы дать подсказки/идеи по таким вопросам. Цель состоит не в том, чтобы удовлетворить все «требования». – user2339071

+0

'@ user' Я согласен с вами, но если мы сможем сделать это легко, значит, больше поможет допрашивать. – HybrisFreelance

1
String awnser=""; 
do{ 

     int num,count=0; 
     Scanner scan = new Scanner(System.in); //scanner for input 
     System.out.print("Enter any number : "); 
     num = scan.nextInt(); 
     for(int i=2; i <= (num/2); i++) 
     { 
      if((num % i) == 0) 
      { 
       count++; 
       break; 
      } 
     } 
     if((count==0) && (num!= 1)) 
     System.out.println(num + " is a prime number."); 
     else 
     System.out.println(num + " is not a prime number."); 

     System.out.println("do you want to continue?"); 
     awnser=scan.next(); 

}while(awnser.equals("y")); 
-1

использовать этот код

import java.util.*; 

public class stackof 
{ 
public static void main (String args[]) 
{ 
    int num,count=0; 
    String s="y"; 
    Scanner scan = new Scanner(System.in); //scanner for input 
    System.out.print("Enter any number : "); 

    while(s.equalsIgnoreCase("y")){ 
     num = scan.nextInt(); 
     for(int i=2; i <= (num/2); i++) 
     { 
     if((num % i) == 0) 
     { 
      count++; 
      break; 
     } 
     } 

     if((count==0) && (num!= 1)) 
     System.out.println(num + " is a prime number."); 
     else 
     System.out.println(num + " is not a prime number."); 

     System.out.println("Do you want to enter another no?"); 
     s=scan.next(); 
    } 
    } 
} 
+1

1- Почему («используйте этот код»). 2. Лично я считаю, что цикл «do-while» был бы более логичным, поскольку вы хотите сделать первый цикл, просто говорящий:) – MadProgrammer

+1

Возможно, потребуется время для отступов кода , Это гораздо легче читать. – ChiefTwoPencils

+0

да, правда, но это всего лишь еще один способ решения ее проблемы :) –

0

вы можете попробовать это ..

import java.util.Scanner; 

// importing package util 

public class Prime 
{ 
    static Scanner scan = new Scanner(System.in); 
    static String userInput = null; 

    public static void main(String args[]) 
    { 
     checkPrime(); 
     while (true) 
     { 
      System.out.print("Are You Want to Continue (Y/N) ?"); 
      userInput = scan.next(); 
      if (userInput.equalsIgnoreCase("Y")) 
       checkPrime(); 
      else if (userInput.equalsIgnoreCase("N")) 
      { 
       System.out.print("Thank you !!"); 
       break; 
      } 
      else{ 
          System.out.print("Try Again With (Y/N) only !"); 
      } 

     } 

    } 

    public static void checkPrime() 
    { 
     int num, count = 0; 
     System.out.print("Enter any number : "); 
     num = scan.nextInt(); 
     for (int i = 2; i <= (num/2); i++) 
     { 
      if ((num % i) == 0) 
      { 
       count++; 
       break; 
      } 
     } 
     if ((count == 0) && (num != 1)) 
      System.out.println(num + " is a prime number."); 
     else 
      System.out.println(num + " is not a prime number."); 
    } 
} 
0

import java.io.InputStream; 
 
import java.util.Scanner; 
 

 
public class example1 { 
 
\t static int value; 
 
\t static int quantity; 
 
\t static int total = 0; 
 
\t static int total_sold = 0; 
 
\t static int total_cashier = 0; 
 
\t static float expensier = 0; 
 
\t int again = 1; 
 
\t static String answer; 
 

 
\t public static void main(String[] args) { 
 

 
\t \t while (true) { 
 
\t \t \t System.out.print("Are You Want to Continue (Y/N) ?\n"); 
 
\t \t \t Scanner ans = new Scanner(System.in); 
 
\t \t \t answer =ans.nextLine(); 
 
\t \t \t if (answer.equalsIgnoreCase("Y")) { 
 
\t \t \t \t Scanner input = new Scanner(System.in); 
 
\t \t \t \t System.out.println("Input Price: \n"); 
 
\t \t \t \t value = input.nextInt(); 
 

 
\t \t \t \t Scanner input2 = new Scanner(System.in); 
 
\t \t \t \t System.out.println("Input Quantity: \n"); 
 
\t \t \t \t quantity = input2.nextInt(); 
 

 
\t \t \t \t total += value * quantity; 
 
\t \t \t \t total_cashier += total; 
 

 
\t \t \t \t if (value > expensier) { 
 
\t \t \t \t \t expensier = value; 
 
\t \t \t \t } 
 

 
\t \t \t \t total_sold += quantity; 
 

 
\t \t \t } else if (answer.equalsIgnoreCase("N")) { 
 
\t \t \t \t System.out.print("Thank you !!"); 
 
\t \t \t \t break; 
 
\t \t \t } else { 
 
\t \t \t \t System.out.print("Try Again With (Y/N) only !"); 
 
\t \t \t } 
 
\t \t \t System.out.println("Total to pay :" + total); 
 
\t \t \t System.out.println("Value of the expensiest product: " + expensier); 
 
\t \t \t System.out.println("Amount of products sold: " + total_sold); 
 
\t \t \t System.out.println("Amount of cash in cashier: " + total_cashier); 
 

 
\t \t } 
 

 
\t 
 
\t } 
 
}

0

private static String reply; 
 
    public static void main(String[] args){ 
 
     int num,count=0; 
 
     Scanner scan = new Scanner (System.in); 
 
     do 
 
{ 
 
System.out.print("Enter any number : "); 
 
     num = scan.nextInt(); 
 
     for(int i=2; i <= (num/2); i++) 
 
     { 
 
      if((num % i) == 0) 
 
      { 
 
       count++; 
 
       break; 
 
      } 
 
     } 
 
     if((count==0) && (num!= 1)) 
 
     System.out.println(num + " is a prime number."); 
 
     else 
 
     System.out.println(num + " is not a prime number."); 
 
     System.out.println("Continue(Y/N)"); 
 
     reply = scan.next().toUpperCase(); 
 

 
     } while(reply.equals("Y"));

Я извещение только не во время цикла не первичен без кода ...

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

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