JAVA程序设计入门教程中的一个习题:设计一个程序从命令行输入一个整数字符串nStr,然后将它转换成整数n,求出n的平方、立方、四次方的值,显示在MS-DOS窗口中。执行如下:
javac E0202.java <Enter>
java E0202 3 <Enter>
3平方=9
3立方=27
3四次方=81
javac E0202.java <Enter>
java E0202 3 <Enter>
3平方=9
3立方=27
3四次方=81
import java.io.*;
public class E0202
{
public static void main(String args[])
{
try
{
int n;
n=System.in.read();
//int n=Integer.parseInt(nStr);
System.out.println(n);
System.out.println("n平方="+(n*n));
}
catch(Exception e)
{
System.out.println(e);
}
//System.out.println(n);
}
}
我是这么写的~运行时,我输入字母好象是对的,它会转换成ASCII码来计算,但题目要求的好像是将整数字符串转换成整数来进行计算。就像题目中说的“3”,我现在输入3,结果n=51,n的平方=2601,搞不清楚了。
public class E0202
{
public static void main(String args[])
{
try
{
String nstr;
nstr=System.in.read();
int n;
n=Integer.parseInt(nstr);
//int n=Integer.parseInt(nStr);
System.out.println(n);
System.out.println("n平方="+(n*n));
}
catch(Exception e)
{
System.out.println(e);
}
//System.out.println(n);
}
}
byte[] bb = new byte[256];
int nn = System.in.read(bb);n = Integer.parseInt(new String(bb,0,nn));---------------------------------------
转换整数字符串一定要用 Integer.parseInt(str);
public static void main(String args[]) {
try {
int n;
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
System.out.println(n);
System.out.println("n平方=" + (n * n));
System.out.println("n立方=" + (n * n * n));
System.out.println("四次方=" + (n * n * n * n));
} catch (Exception e) {
e.printStackTrace();
}
}
你的这个方法我试过的~好象整数字符不能用read(),还是谢谢你。回 realsantino()
谢谢你的帮忙,运行正确了。回 david2083()
我想用你的这个方法,我看书的时候这一章节介绍了转换类型,不过我还在学习中,谢谢你的帮助。
public class E0202
{
public static void main(String args[])
{
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); String readLine=in.readLine();
int x=Integer.parseInt(readLine);
System.out.println(x);
System.out.println("n平方="+(x*x));
}
catch(Exception e)
{
System.out.println(e);
}
//System.out.println(n);
}
}
经过调试 没问题