Java:如何询问用户是否要继续程序
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/19108902/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Java: How to ask user if he/she wants to continue program
提问by Melissa Lagoc
I've already made it so that it will tell whether the input from the user is a prime number or not a prime number but now I have to make it so that it will ask the user if he/she wants to check another number and wait for the user to enter "Y" or "y" as yes, "n" or "N" as no. If yes, repeat the three steps. If no, exit the program. For all other letters, reject ti and ask the user to enter only "y" or "n".
我已经做到了,它会告诉用户输入的输入是质数还是不是质数,但现在我必须这样做,以便它会询问用户他/她是否想检查另一个数字和等待用户输入“Y”或“y”作为是,“n”或“N”作为否。如果是,请重复三个步骤。如果没有,退出程序。对于所有其他字母,拒绝 ti 并要求用户仅输入“y”或“n”。
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.");
}
}
回答by KhAn SaAb
go with switch case
一起去 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;
}
回答by Optional
How about using a while loop
如何使用 while 循环
while (!"N".equals(inputValues) {
//Keep asking for user inputs
}
}
回答by user2339071
This is a pretty standard way I learnt when I started coding.
这是我开始编码时学到的一种非常标准的方法。
Use a do-while
loop like this:
使用这样的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')
If the user enter's anything else, the loop will break. :)
如果用户输入其他任何内容,循环将中断。:)
回答by SteveL
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"));
回答by Heshitha Hettihewa
use this code
使用此代码
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();
}
}
}
回答by HybrisHelp
You Can try this ..
你可以试试这个..
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.");
}
}
回答by Vivek Gupta
import java.io.InputStream;
import java.util.Scanner;
public class example1 {
static int value;
static int quantity;
static int total = 0;
static int total_sold = 0;
static int total_cashier = 0;
static float expensier = 0;
int again = 1;
static String answer;
public static void main(String[] args) {
while (true) {
System.out.print("Are You Want to Continue (Y/N) ?\n");
Scanner ans = new Scanner(System.in);
answer =ans.nextLine();
if (answer.equalsIgnoreCase("Y")) {
Scanner input = new Scanner(System.in);
System.out.println("Input Price: \n");
value = input.nextInt();
Scanner input2 = new Scanner(System.in);
System.out.println("Input Quantity: \n");
quantity = input2.nextInt();
total += value * quantity;
total_cashier += total;
if (value > expensier) {
expensier = value;
}
total_sold += quantity;
} else if (answer.equalsIgnoreCase("N")) {
System.out.print("Thank you !!");
break;
} else {
System.out.print("Try Again With (Y/N) only !");
}
System.out.println("Total to pay :" + total);
System.out.println("Value of the expensiest product: " + expensier);
System.out.println("Amount of products sold: " + total_sold);
System.out.println("Amount of cash in cashier: " + total_cashier);
}
}
}
回答by Saleem Kalro
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"));
I have notice only do while loop not prime no code...
我注意到只做 while 循环而不是素数没有代码...