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

请大神帮忙看看,在线等

for(int i=1,j=1;;j==i&&i<=9?i++:j++)
  {
   if(i*j<10){
    System.out.print(i+"*"+j+"="+i*j+"  ");
    }
   else System.out.print(i+"*"+j+"="+i*j+" ");
  }为什么j==i&&i<=9?i++:j++这句有错误?

正在回答

2 回答

i为整型不能和boolean型结合,而且你即使改为(j==i)&&(i<=9)?i++:j++;依旧会报错,最好是把他放入大括号内

if((j==i) && i <= 9) { i++;j++ }


0 回复 有任何疑惑可以回复我~
#1

qq_XL_14 提问者

非常感谢!
2016-06-14 回复 有任何疑惑可以回复我~
#2

qq_XL_14 提问者

其实我还是不太明白,j==i和i<=9的值不就是boolean型的么?
2016-06-14 回复 有任何疑惑可以回复我~

for循环括号中分别需要三组,1是循环变量初始化;2是循环条件,其结果只有true或false两种;3是执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断。其中三组分别用 “;”号隔开。

可是你这个属于表达式了,不能用这种写法。如果你想实现这种操作可以在循环体里面判断值该怎么变化,那你括号中的第三组就可以不用写了。谢谢!

0 回复 有任何疑惑可以回复我~
#1

qq_XL_14 提问者

谢谢你
2016-06-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165458    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

请大神帮忙看看,在线等

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信