pencheng0723
小水手

UID 21806
精华
0
积分 1
帖子 1
阅读权限 10
注册 2006-5-29
状态 离线
|
帮忙调试一下
import java.io.*;
import java.awt.*;
import javax.swing.*;
public class YangHui{
public static void main(String args[]){
int num,b;
String a="";
System.out.print("Please input a number:");
/*
*处理用户从键盘输入的数,并转换成数值.
**/
try{
while(true){
b=System.in.read();
if(b!='\r'){
a=a+(char)b;
}else {
if(checkinput(a))
break;
else{
a="";
System.out.print("Input is error,please input again:");
}
}
}
}catch(Exception e){ }
num=Integer.parseInt(a);
YHprint p=new YHprint(num);
}
//检查用户输入的是不是数字,如果是就返回true,否则就返回false
static boolean checkinput(String str){
char num[]=new char[10];
num=str.toCharArray();
System.out.print(num[0]+"me");
for(int i=0;i<str.length();i++){
if(!(num[i]>='0'&&num[i]<='9'))
return false;
}
return true;
}
}
class YHprint{
public YHprint(int n){
/*
*计算杨辉三角形
**/
int a[][]=new int[n][n];
for(int i=0;i<n;i++){
a[i][0]=1;
a[i][i]=1;
}
for(int j=2;j<n;j++)
for(int k=1;k<j;k++)
a[j][k]=a[j-1][k-1]+a[j-1][k];
/*
*输出杨辉三角形
**/
for(int i=0;i<n;i++){
for(int j=0;j<n-i;j++)
System.out.print(" ");
for(int k=0;k<=i;k++){
System.out.print(""+a[i][k]);
System.out.print(" ");
}
System.out.println("\n");
}
}
} 程序的功能是从键盘接收一个数,输出它的杨辉三角形。.如果用户输入非数字字符,屏幕提示输入错误,用户可以多次输入。但是这个程序输入一个字母后,再输入数字就总是出现错误。
[ 本帖最后由 漫天红枫 于 2006-6-10 20:35 编辑 ]
|
|