| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2636 人关注过本帖
标题:[求助]怎样从键盘获取一个数字或者是字符?
只看楼主 加入收藏
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
 问题点数:0 回复次数:15 
[求助]怎样从键盘获取一个数字或者是字符?

怎样从键盘获取一个数字或者是字符?
还有我刚刚编写了一个打印星号的程序,想要用户输入一个行数,然后用“*”打印出各行的行标+1。如:当用户输入的行号rows=5 时,应该打印出五行这样:
*
***
*****
*******
*********
但运行出来的结果却不是这样,而是不停的打印下去,超过五行!即i<rows不起作用,哪位大虾帮我看看到底错在哪里,谢谢了!

代码如下所示:
class print
{
public static void main(String [] agrs)
{
int rows=0;
System.out.println("Enter a number:");
try
{
rows=System.in.read();
}catch (Exception e){};
for(int i=0;i<rows;i++)
{
System.out.println();
for(int j=0;j<=2*(rows-1);j++)
{
if(j<=rows-1-i||j>=rows-1+i)
System.out.print(" ");
else
System.out.print("*");
}
}
}

}

搜索更多相关主题的帖子: 数字 字符 键盘 rows 获取 
2006-04-16 01:04
晓狐狸
Rank: 2
等 级:新手上路
威 望:3
帖 子:95
专家分:0
注 册:2006-4-6
收藏
得分:0 
System.in.read()该方法返回的是一个ASCLL码,如果你输入小写'a' 它就返回97
你输入'3' 他就返回51,所以就造成循环N多次的情况了。
你跟我一样 把行数改成死的再试试就能明白了。 加油哇

class print
{
public static void main(String [] agrs)
{
int rows=5;
for(int i=1;i<=rows;i++)
{
for(int j=1;j<rows+i;j++)
{
if(j>rows-i)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
System.out.println();
}

}
}

2006-04-16 06:19
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
不错

可惜不是你,陪我到最后
2006-04-16 10:16
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 

该成死的就不够灵活了。如果你这样做,就可以解决问题了

import java.io.*;
public class print
{
public static void main(String [] agrs)
{
int rows=0;
System.out.println("Enter a number:");
try
{
String s="";
BufferedReader in=new BufferedReader (new InputStreamReader(System.in));
s=in.readLine();
rows=Integer.parseInt(s);
}catch (Exception e){};
for(int i=0;i<rows;i++)
{
System.out.println();
for(int j=0;j<=2*(rows-1);j++)
{
if(j<=rows-1-i||j>=rows-1+i)
System.out.print(" ");
else
System.out.print("*");
}
}
}

}


书籍,电影,音乐的互动交流平台http://www./
2006-04-16 11:22
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 
这样就是想输几百行都没问题。

书籍,电影,音乐的互动交流平台http://www./
2006-04-16 11:30
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

写得不错


可惜不是你,陪我到最后
2006-04-16 14:21
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
得分:0 

谢谢各位大哥的指教了!更谢谢"寂寞天涯人"的指点!
小弟经过修改,终于成功了!


初学java,希望各位大虾多多指教!!
2006-04-16 17:44
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 
呵呵,不用客气,一起努力学习吧.

书籍,电影,音乐的互动交流平台http://www./
2006-04-16 17:49
Goldgulf
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-4-6
收藏
得分:0 
2006-04-16 18:18
★王者至尊★
Rank: 1
等 级:新手上路
帖 子:528
专家分:0
注 册:2006-3-28
收藏
得分:0 
从键盘读入字符最好不要用System.in.read();
不过可以输入后 在把他的ASCII值转化为相应字符串 也能实现

------Java 爱好者,论坛小混混,学习中------
2006-04-16 22:50
快速回复:[求助]怎样从键盘获取一个数字或者是字符?
数据加载中...
 
   



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

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