黑马程序员技术交流社区
标题:
语句的执行顺序与运行结果问题
[打印本页]
作者:
宋耀冬
时间:
2013-3-25 20:14
标题:
语句的执行顺序与运行结果问题
本帖最后由 宋耀冬 于 2013-3-26 19:13 编辑
public class Print {
public static void main(String[] args) {
int i = 1;
while (i < 128) {
if (i % 10 == 0) {
System.out.println();
}
System.out.print(i + "\t");
i ++;
}
}
}
我想让代码没打印到10 换行 ,可总到 9 就换了 ,这是怎么回事
作者:
胡国彬
时间:
2013-3-25 20:33
本帖最后由 胡国彬 于 2013-3-25 20:35 编辑
你的代码有问题,很明显,当i=10的时候,首先进入system.out.println();而这句话是换行,接着才走system.out.print(i+“\t”),也就是打印出十。
你想要先打印到10在换行,可以把 System.out.print(i + "\t");这句话放到if语句的前面,或者也可以把if语句的条件改为if ((i-1) % 10 == 0),这两种方式都可以成功。
作者:
曹玉龙
时间:
2013-3-25 21:41
执行顺序问题,改一下就可以了.
class Demo {
public static void main(String[] args) {
int i = 1;
while (i < 128) {
//被移动的代码行
System.out.print(i + "\t");
if (i % 10 == 0) {
System.out.println();
}
i ++;
}
}
}
复制代码
作者:
徐鸿燕
时间:
2013-3-25 21:42
public class Print {
public static void main(String[] args) {
int i = 1;
while(i < 128){
if (i % 10 != 0)//如果i不是10的倍数
System.out.print(i + "\t");
else//如果是10的倍数。
System.out.println(i);
i++;//i自增1。
}
}
}
复制代码
作者:
薛飞
时间:
2013-3-26 00:19
class HuanHang
{
public static void main(String[] args)
{
int i = 1;
while (i < 128)
{
System.out.print(i + "\t");
if (i % 10 == 0)
System.out.println();
i++;
}
System.out.println();//循环打印结束后换行。
}
}
复制代码
作者:
夏凡
时间:
2013-3-26 09:25
你的这个问题出在“判断语句放在输出语句之前了”,也就是到第十个数的时候还没来的及输出已经满足if的条件而执行换行了
正确的代码如下:
public class Print {
public static void main(String[] args)
{
int i = 1;
while (i < 128)
{
System.out.print(i + "\t");
if (i % 10 == 0)
{
System.out.println();
}
i ++;
}
}
}
复制代码
作者:
陆旭东
时间:
2013-3-26 18:57
因为当i=10的时候i%10等于0,按照你程序的逻辑就会打印换行,然后继续打印i
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2