Java:如何询问用户是否要继续编程

时间:2013-10-01 05:50:23

标签: java

我已经做到这一点,它会告诉用户的输入是素数还是素数,但现在我必须这样做,以便它会询问用户他/她是否想要检查另一个号码,等待用户输入“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.");
    }
}

8 个答案:

答案 0 :(得分:3)

这是我开始编码时学到的一种非常标准的方式。

像这样使用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')

如果用户输入其他内容,则循环将中断。 :)

答案 1 :(得分: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;
    }

答案 2 :(得分: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"));

答案 3 :(得分:0)

如何使用while循环

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

}

答案 4 :(得分: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.");
    }
}

答案 5 :(得分:0)

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);

		}

	
	}
}

答案 6 :(得分: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"));

我注意到只做while循环而不是素数没有代码...

答案 7 :(得分:-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();
    }
  }
}