简体   繁体   中英

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

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".

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.");
    }
}

This is a pretty standard way I learnt when I started coding.

Use a do-while loop like this:

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. :)

go with 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;
    }
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"));

How about using a while loop

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

}

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.");
    }
}

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

  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...

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM