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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-12 14:10:42  来源:igfitidea点击:

Java: How to ask user if he/she wants to continue program

java

提问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-whileloop 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 循环而不是素数没有代码...