2-5编译问题?

2-5编译问题?

请问,这段程序有什么编译问题?

https://img1.sycdn.imooc.com//climg/623714df08cc7f1314400860.jpg

正在回答

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

1回答

同学你好,输出语句需要定义在方法中,无法在类中直接定义,建议将其移动到主方法内后重新测试运行试下。

另外建议同学将代码选中对应代码语言后复制粘贴上传至问答区。

https://img1.sycdn.imooc.com//climg/623718660934a1f104220280.jpg

https://img1.sycdn.imooc.com//climg/623718a90955c55601490222.jpg


祝学习愉快~

  • EllaAzure 提问者 #1

    ①j=9;i=6

    ②i--=5;j=8

    ③i--=4;j=7

    ④i--=3;j=6


    1、因为while(i-->3),程序运行到i=3;j=6,就应该停止了,是吧?

    为什么还会出现i=2的输出呢?


    2、如果要输出i=6、i=5、i=4、i=3,程序应该怎么写呢?


    https://img1.sycdn.imooc.com//climg/6237f7920820fd7d14400860.jpg

    2022-03-21 11:57:54
  • 好帮手慕小小 回复 提问者 EllaAzure #2

    同学你好

    1、若是不同的问题则建议重新发起提问哦,避免一个问答下问题较多不利于同学阅读、理解;

    2、建议在上传代码图片时,也将代码上传:选中对应代码语言将代码以复制粘贴的形式上传至问答区;

    3、代码问题解答如下:

    3.1)输出问题:--在变量后时,自身的值先运算,再进行--。

    参考课程:2-2自增自减运算符 

    https://img1.sycdn.imooc.com//climg/6237fcfd097ffd1104490314.jpg

    3.2)输出i=6、i=5、i=4、i=3参考代码如下:

    int i = 6;
    while (i > 2) {
        System.out.println("i = " + i);
        i--;
    }

    祝学习愉快~

    2022-03-21 12:27:58
  • EllaAzure 提问者 回复 好帮手慕小小 #3

    还是2-5练习题

    1、问题:语句序列执行后,j 的值是?

    int j=9,i=6;

    while(i-->3)

    --j;

    笔算的过程为,

    ①先赋值,j=9,i=6;

    ②当 i-->3,i自减;

    ③执行,i--=5>3 ,-- j=8;

    ④输出,i=5,j=8;

    ⑤当 i-->3,i自减;;

    ⑥执行,i--=4>3 ,-- j=7;

    ⑦输出,i=4,j=7


    2、截图::用eclipse,计算出的结果,j的值是一样的;但i的值不一样。为什么?

    https://img1.sycdn.imooc.com//climg/623f1712081b38e214400860.jpg


    3、代码

    package com.imooc.flow1;
    
    public class E2_5 {
    	public static void main(String[] args) {
    		// 2-5练习题
    		int j = 9, i = 6;
    		while (i-- > 3) {
    			i--;
    			--j;
    			System.out.println("i=" + i + ";j=" + j);
    		}
    	}
    }


    2022-03-26 21:39:54
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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