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

来源:2-6 嵌套if结构

Ironxi_work

2017-09-04 23:36:35

问道一下几个点:(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回答

好帮手慕珊

2017-09-05

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

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

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

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

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

0
hronxi_work
h 非常感谢!
h017-09-08
共1条回复

Timm_Lee

2017-09-05

嵌套是为了覆盖多种可能性。你也可以试试用 "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。

1
hhiteSJ
h 这个用的是多重if,貌似比嵌套好理解
h017-09-23
共5条回复

0 学习 · 14452 问题

查看课程