1.老师我这个代码也能实行课程中的效果,但是感觉这段代码还是有不小的问题,可以帮我指出来吗?

1.老师我这个代码也能实行课程中的效果,但是感觉这段代码还是有不小的问题,可以帮我指出来吗?

问道一下几个点:(1)是不是符合通用的规则,主要是指格式上;(2)感觉太啰嗦,有没有简洁的办法;

public class LargeSmall {


public static void main(String[] args) {

// TODO Auto-generated method stub

   Scanner sc1=new Scanner(System.in);

    int n=sc1.nextInt();

   Scanner sc2=new Scanner(System.in);

    int m=sc2.nextInt();

    if(m>=n) 

   {

    if(m>n) {

    System.out.println("m>n");}

    else {

    System.out.println("m=n");

    }

   

   }else {

  System.out.println("m<n");

   }

}


}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

1、如果用eclipse写的代码,想对齐格式的话,可以右击代码编辑区域,然后选择source——format就可以进行格式化啦

2、Scanner类的对象定义一个即可,也就是  Scanner sc2=new Scanner(System.in);这句话去掉,直接都用sc1

3、代码逻辑上这么写没有问题,也可以使用前面同学说的if-else if

4、每个sc1.nextInt()语句前面可以输出一句话作为提示,比如:请输入n的值

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • Ironxi_work 提问者 #1
    非常感谢!
    2017-09-08 00:24:45
Timm_Lee 2017-09-05 09:02:23

嵌套是为了覆盖多种可能性。你也可以试试用 "if... else if..." 语句。

import java.util.Scanner;
public class IfElseIf {
    public static void main(String[] args){
        System.out.println("请输入数字 n:");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
    
        System.out.println("请输入数字 m:");
        sc = new Scanner(System.in);
        int m = sc.nextInt();
    
        System.out.println("对比结果是:");
        if (n > m){
            System.out.println("n > m");
        } else if (n == m) {
            System.out.println("n = m");
        } else {
            System.out.println("n < m");
        }
    }
}

三次测试结果分别是

请输入数字 n:
2
请输入数字 m:
3
对比结果是:
n < m

请输入数字 n:
1
请输入数字 m:
1
对比结果是:
n = m

请输入数字 n:
3
请输入数字 m:
1
对比结果是:
n > m

注意:Scanner 实例化一次即可,不用创建两个实例,比如 sc1 和 sc2。

  • 提问者 Ironxi_work #1
    1,首先,感谢您的回答;2.想请教一下else if(m==n)为什么用”==“,m和n是同种类型的可以用”=“?
    2017-09-07 23:47:28
  • 提问者 Ironxi_work #2
    我试了一下,else if后面的判定结果是boolean不能用'='来,得用'=='来判定他们数值上想等;
    2017-09-07 23:59:24
  • Timm_Lee 回复 提问者 Ironxi_work #3
    1. 不客气。如果你认为回答好,可以采纳。2. m和n在这里都是int类型,即基本数据类型,这时用“==”是比较两者的值,得到一个布尔值的结果(即true或者false)。而布尔值可以作为if的判断标准。另一方面,“=”是赋值运算符,如果 m=n,表示把n的值赋给m,并不能作为if判断条件。
    2017-09-08 00:01:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师