Java 编程 for循环问题

小小土豆 2009-12-20 11:44:38
一个关于Java for循环的问题:
for(int i=1,j=1;j<10;(i==j)?(i++):(j++))
{ System.out.printf("%d*%d=%2d%c",j,i,i*j,(i==j)?('\n'):(' ')) }
就是一个循环的九九乘法表,在TC里可以完美运行,在Java里就编译不了了,不知道是为什么,还请各位高手指教。
...全文
125 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
junmasky 2009-12-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wscem 的回复:]
确实一样,谢谢了,不过我还是想知道,为什么Java的for不能这样写,难道Java的for里不能像TC一样执行判断选择?
[/Quote]
这个可以去研究研究,我也不太明白
junmasky 2009-12-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 godismydaughter 的回复:]
引用楼主 wscem 的回复:
一个关于Java  for循环的问题:
for(int i=1,j=1;j <10;(i==j)?(i++):(j++))
  { System.out.printf("%d*%d=%2d%c",j,i,i*j,(i==j)?('\n'):(' ')) }
就是一个循环的九九乘法表,在TC里可以完美运行,在Java里就编译不了了,不知道是为什么,还请各位高手指教。
System.out.printf
java中没有这个语句吧。
[/Quote]
呵呵,当然有这个语句啦,去试试就知道了
ni1158 2009-12-20
  • 打赏
  • 举报
回复
很好
godismydaughter 2009-12-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 wscem 的回复:]
一个关于Java  for循环的问题:
for(int i=1,j=1;j <10;(i==j)?(i++):(j++))
  { System.out.printf("%d*%d=%2d%c",j,i,i*j,(i==j)?('\n'):(' ')) }
就是一个循环的九九乘法表,在TC里可以完美运行,在Java里就编译不了了,不知道是为什么,还请各位高手指教。
[/Quote]System.out.printf
java中没有这个语句吧。
小小土豆 2009-12-20
  • 打赏
  • 举报
回复
确实一样,谢谢了,不过我还是想知道,为什么Java的for不能这样写,难道Java的for里不能像TC一样执行判断选择?
junmasky 2009-12-20
  • 打赏
  • 举报
回复

for(int i=1,j=1;j <10&&i<10;){
System.out.printf("%d*%d=%2d%c",j,i,i*j,(i==j)?('\n'):(' '));
if(i==j){
i++;
}else{
j++;
}
}

for里面的(i==j)?(i++):(j++)这个地方报错,我修改了一下应该输出的效果和你在TC中一样吧
小小土豆 2009-12-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dajiadebeibei9 的回复:]
Java codepublicstaticvoid main(String args[])
{int i=1,j=1;int s;for(i=1;i<=9;i++)
{for(j=1;j<=i;j++)
{
s=i*j;if(j<i)
{
System.out.print(i+"*"+ j+" ="+ s?-
[/Quote]
这个可以编译,而且我的for(int i=1,j=1;j <10;int ((t=(i==j))==1)?(i++):(j++))
就可以编译了,怪了……
小小土豆 2009-12-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 wscem 的回复:]
一个关于Java  for循环的问题:
for(int i=1,j=1;j <10;(i==j)?(i++):(j++))
  { System.out.printf("%d*%d=%2d%c",j,i,i*j,(i==j)?('\n'):(' ')) }
就是一个循环的九九乘法表,在TC里可以完美运行,在Java里就编译不了了,不知道是为什么,还请各位高手指教。
[/Quote]

补充一下,我的jdk是1.6_17的
dajiadebeibei9 2009-12-20
  • 打赏
  • 举报
回复
public static void main(String args[]) 
{
int i=1,j=1;
int s;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
s=i*j;
if(j<i)
{
System.out.print(i+ "*" + j + " = " + s + " ");
}
else
{
System.out.println(i+ "*" + j + " = " + s + " ");
}

}
}

}
dajiadebeibei9 2009-12-20
  • 打赏
  • 举报
回复
c的格式能和Java的一样吗
xiaohuanjie 2009-12-20
  • 打赏
  • 举报
回复
围观

算是长见识了,原来九九乘法表还可以这样写。。。。。。。。

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧