为了账号安全,请及时绑定邮箱和手机立即绑定

编写一个程序,要求用户输入数字 N 和选项 C

编写一个程序,要求用户输入数字 N 和选项 C

MMMHUHU 2023-06-08 20:17:40
编写一个程序,要求用户输入数字 N 和选项 C。然后让他在计算 1 ,..., N 的和和乘积之间进行选择。如果用户输入 C 等于1 : 打印 1 到 N 个数字的总和2 : 打印 1 到 N 号的产品任何其他数字:打印 -1输入格式:第 1 行:整数 N第 2 行:选项 C(1 或 2)为此我没有得到它的确切结果。这段代码有什么问题?import java.util.Scanner;public class Sum_OrProduct {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int num = sc.nextInt();        int choice = sc.nextInt();        int sum = 0, prod = 1;        for (int i = 1; i <= num; i++) {            if (choice == 1) {                sum = sum + i;            } else if (choice == 2) {                prod = prod * i;            } else {                System.out.println(-1);            }        }        System.out.println(sum);        System.out.println(prod);    }}结果Your Output551预期产出55
查看完整描述

3 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

而不是 if 和 else 语句来检查它是 for 循环内的总和还是产品没有给出正确的结果,所以首先如果用户想要做总和或产品被检查并基于该计算完成。


    int result =0;

    int mult=1;

    Scanner sc=new Scanner(System.in);  

    System.out.println("Enter a number?");

    int a = sc.nextInt();

    System.out.println("Do you want to compute the sum or product?");

    //1 for sum, 2 for product 

    int b = sc.nextInt();

    

            if(b==1){

                for ( int i=1; i<=a; i++) { 

                result += i;

                }

                System.out.println(result);

            }

            else if(b==2){

                for (int i=1; i<=a; i++) {  

                    mult = mult*i;

                    }

                System.out.println(mult);

            }

            else {

                System.out.println("Incorrect");

            }


查看完整回答
反对 回复 2023-06-08
?
梦里花落0921

TA贡献1772条经验 获得超5个赞

导入 java.util.Scanner;公共课主要{


public static void main(String[] args) {

    // Write your code here

    Scanner sc=new Scanner(System.in);

    int n=sc.nextInt();

    int c=sc.nextInt();

    if(c==1)

    {

        int sum=0;

        for(int i=1;i<=n;i++)

        {

            sum=sum+i;

        }

        System.out.println(sum);

    }

    else if(c==2)

    {

        int result=1;

        for(int i=1;i<=n;i++)

        {

            result=result*i;

        }

        System.out.println(result);            

    }

    else

    {

        System.out.println("-1");

    }


}

}


查看完整回答
反对 回复 2023-06-08
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

首先,在逻辑(求和或乘积)之上使用 if 语句,在您决定执行哪个操作之后,然后在语句块中对逻辑进行编码,这样您就可以在不同的条件下将结果设置为变量,如下所示;


    Scanner sc=new Scanner(System.in);

    int num=sc.nextInt();

    int choice=sc.nextInt();

    int result;


    switch(choice) 

    {

      case 1: //sum

        result = 0;

        for(int i=1;i<=num;i++) {

          result += i;

        }

      break;


      case 2: //product

        result = 1;

        for(int i=1; i<=num; i++) {

          result *= i;

        }

      break;


      default: //invalid op

        result = -1;

      break;

    }

    System.out.println(result);


查看完整回答
反对 回复 2023-06-08
  • 3 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信