| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1238 人关注过本帖
标题:请教高手,我的程序哪错了?
只看楼主 加入收藏
dreameds
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2005-12-19
收藏
 问题点数:0 回复次数:22 
请教高手,我的程序哪错了?

我要用*打成一个正方形,中间是空的但是结果是=
*****
* *
* *
* *
*****
应该是有for (k....)的语句没有循环,请问应该怎么解决啊?
public class Zhengfangxing {

public static void main(String[] args)
{
for(int i=1;i<=5;i++)
{
System.out.print('*');

}

System.out.println();
for(int j=1;j<=3;j++)
{
System.out.print('*');
for(int k=1;k<=3;k++);
{
System.out.print(" ");
}

System.out.print('*');
System.out.println();
}
for(int l=1;l<=5;l++)
{
System.out.print('*');

}

搜索更多相关主题的帖子: void public 正方形 
2005-12-19 22:56
sowill
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-12-19
收藏
得分:0 
public static void main(String[] args)
{
for(int i=1;i<=5;i++)
{
System.out.print('*');

}

System.out.println();
for(int j=1;j<=3;j++)
{
System.out.print('*');
for(int k=1;k<=3;k++); //这里把那个;去掉就一切ok了,就是那个;让你的for没有循环
{
System.out.print(" ");
}

System.out.print('*');
System.out.println();
}
for(int l=1;l<=5;l++)
{
System.out.print('*');

}
}

beyond my dream & fulfill my pledge
2005-12-20 00:43
bagger
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:33
帖 子:891
专家分:0
注 册:2005-8-16
收藏
得分:0 

public class Zhengfangxing {

public static void main(String[] args)
{

for(int i=1;i<=5;i++)
{
System.out.print('*');
}

System.out.println();
for(int j=1;j<=3;j++)
{
System.out.print('*');
for(int k=1;k<=3;k++)//;
{
System.out.print(" ");
}

System.out.println('*');
// System.out.println();
}

for(int l=1;l<=5;l++)
{
System.out.print('*');

}
}
}

for()后直接跟;在{}中的程序就不会循环了啊!
程序结果:
*****
* *
* *
* *
*****


【三元毕业设计论文】
三元论文真的只有三元钱
客服QQ:742670649
http://shop35094218./
2005-12-20 07:39
dreameds
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2005-12-19
收藏
得分:0 
谢谢了,这里真是个好地方~
以后大家互相帮助啊~(嘿嘿,多数情况我都是被帮助者)

2005-12-20 09:58
dreameds
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2005-12-19
收藏
得分:0 

还是刚才那个程序,只是加了让我们输入边长,但是我无论边长输入几,输出的结果都不对,请问为什么啊?
public class Zhengfangxing {

public static void main(String[] args)
{ int n=5;
System.out.print("请输入边长");
try
{
n=System.in.read();
}
catch(Exception e)
{

}


for(int i=1;i<=n;i++)
{
System.out.print('*');

}

System.out.println();
for(int j=1;j<=n-2;j++)
{
System.out.print('*');
for(int k=1;k<=n-2;k++)
{
System.out.print(" ");
}

System.out.print('*');
System.out.println();
}
for(int l=1;l<=n;l++)
{
System.out.print('*');

}




}
}


2005-12-20 10:09
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
收藏
得分:0 

import java.io.*;

public class Zhengfangxing
{ public static void main(String[] args)
{ int n;
System.out.print("请输入边长");
try
{ InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
n = Integer.parseInt(s);
}
catch(Exception e)
{ n = 1; }

for(int i = 0; i < n; i++)
{ System.out.print('*');
}
System.out.println();
for(int j = 0; j < n-2; j++)
{ System.out.print('*');
for(int k = 0; k < n-2; k++)
{ System.out.print(" ");
}
System.out.println('*');
}
for(int i = 0;i < n;i++)
{ System.out.print('*');
}
}
}
System.in.read()读取的是数字的ASCII码,所以不对。


懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-20 13:28
bagger
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:33
帖 子:891
专家分:0
注 册:2005-8-16
收藏
得分:0 

public class Zhengfangxing {
public static void main(String[] args)
{ int n=5;
System.out.print("请输入边长");
try
{
n=System.in.read();
}
catch(Exception e)
{
}

for(int i=1;i<=n-'0';i++)
{
System.out.print('*');
}
System.out.println();
for(int j=1;j<=n-2-'0';j++)
{
System.out.print('*');
for(int k=1;k<=n-2-'0';k++)
{
System.out.print(" ");
}
System.out.print('*');
System.out.println();
}
for(int l=1;l<=n-'0';l++)
{
System.out.print('*');
}
}
}

这是因为System.in.read();读如的是char不是int,输入5,其实是5的码值!
所以输入后得键'0'恢复到正确的值!
还有其他的方法,不过有些麻烦,就是一顿值的转换!
程序都调试完了,你自己运行就行了啊!


【三元毕业设计论文】
三元论文真的只有三元钱
客服QQ:742670649
http://shop35094218./
2005-12-20 13:31
dreameds
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2005-12-19
收藏
得分:0 

谢谢,我明白了
就是rend in 的是ASCII要-'0'还原成int型


2005-12-20 18:29
雨夜黑黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-20
收藏
得分:0 
public class Zhengfangxing {

public static void main(String[] args)
{
for(int i=1;i<=5;i++)
{
System.out.print('*');

}

System.out.println();
for(int j=1;j<=3;j++)
{
System.out.print('*');
for(int k=1;k<=3;k++);
{
System.out.print(" ");//你的程序只需在引号里敲三个空格即可啊
}

System.out.print('*');
System.out.println();
}
for(int l=1;l<=5;l++)
{
System.out.print('*');

}

2005-12-20 20:23
雨夜黑黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-20
收藏
得分:0 
不好意思,刚看到有两题那,嘿嘿
2005-12-20 20:51
快速回复:请教高手,我的程序哪错了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037672 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved