【问题标题】:Use of loops and switches in javajava中循环和开关的使用
【发布时间】:2015-08-07 11:32:10
【问题描述】:
package labsheet1;
import java.util.Scanner;
public class Ques5 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System. in );
        int num1;
        int num2;
        int add, sub, mul, div;
        int onum;
        System.out.print("Enter first number :");
        num1 = input.nextInt();
        System.out.print("Enter second number :");
        num2 = input.nextInt();
        System.out.print("Enter operation number :");
        onum = input.nextInt();
        add = num1 + num2;
        sub = num1 - num2;
        mul = num1 * num2;
        div = num1 / num2;
        switch (onum) {
            case 1:
                System.out.println("Addition(+)");
                System.out.println("The result is " + add);
                break;
            case 2:
                System.out.println("Subtraction(-)");
                System.out.println("The result is " + sub);
                break;
            case 3:
                System.out.println("Multiplication(*)");
                System.out.println("The result is " + mul);
                break;
            case 4:
                System.out.println("Division(/");
                System.out.println("The result is " + div);
                break;
            default:
                System.out.println("None of the operations");
        }
    }
}

这是我的程序。现在我必须通过在程序末尾添加以下问题来修改它: 你想再计算一次吗?

  1. 是的
  2. 没有

输入您的选项:

 如果用户选择是(通过输入 1),程序将再次要求他输入两个数字。如果否,程序将退出。

我需要为此使用合适的循环。请帮忙。

【问题讨论】:

标签: java algorithm loops switch-statement


【解决方案1】:

你可以试试这个

package labsheet1;

import java.util.Scanner;

public class Ques5 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input = new Scanner(System.in);

        int num1;
        int num2;
        int add,sub,mul,div;
        int onum;
        String ans = "Yes";

        do
        {
            System.out.print("Enter first number :");
            num1=input.nextInt();
            System.out.print("Enter second number :");
            num2=input.nextInt();
            System.out.print("Enter operation number :");
            onum=input.nextInt();

            add=num1+num2;
            sub=num1-num2;
            mul=num1*num2;
            div=num1/num2;

            switch(onum)
            {
               case 1:
                 System.out.println("Addition(+)");
                 System.out.println("The result is " +add);

                 break;
               case 2:
                  System.out.println("Subtraction(-)");
                  System.out.println("The result is " +sub);
                  break;
               case 3:
                  System.out.println("Multiplication(*)");
                  System.out.println("The result is " +mul);
                  break;
               case 4:
                  System.out.println("Division(/");
                  System.out.println("The result is " +div);
                  break;
               default:
                   System.out.println("None of the operations");
            }
            System.out.print("Do you want to make another calculation?");
            ans=input.nextLine();
         }while(ans.toLowerCase().equals("Yes"));
    }

}

【讨论】:

  • 它说 The method nextString() is undefined for the type Scanner
  • 对不起,错过了语法。通常我不使用 Scanner 类,而只使用命令行参数。
【解决方案2】:

你可以使用Do-while循环这个概念很简单:例如

String s;
       do{  
    InetAddress ip;
    try {
        System.out.println("Hello here");

    } catch (Exception e){

        e.printStackTrace();

    }
        Scanner scan = new Scanner(System.in);
        s = scan.next();
        }while(s.toUpperCase().equals("Y") ||
               s.toUpperCase().equals("YES"));
   }

【讨论】:

    【解决方案3】:

    它提示您如何根据用户输入应用 while 循环继续处理:-

    static String userChoice;
    
    public static void main(String[] args) {
    
        while (true) {
            System.out.print("Do you want to make another calculation (Y/N)\n");
            Scanner input = new Scanner(System.in);
            userChoice=input.nextLine();
            if (userChoice.equalsIgnoreCase("Y")) {
            //Do your calculations
            }
            } else if (userChoice.equalsIgnoreCase("N")) {
                System.out.print("Program is exiting. No more calculations!!!");
                break;
            } else {
                System.out.print("Enter a valid choice (Y/N) only !");
            }
    

    【讨论】:

      猜你喜欢
      • 2021-02-07
      • 1970-01-01
      • 2020-07-06
      • 2020-07-27
      • 1970-01-01
      • 2022-11-25
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多