JAVA程序设计入门教程中的一个习题:设计一个程序从命令行输入一个整数字符串nStr,然后将它转换成整数n,求出n的平方、立方、四次方的值,显示在MS-DOS窗口中。执行如下:
                 javac E0202.java  <Enter>
                 java E0202 3  <Enter>
                 3平方=9
                 3立方=27
                 3四次方=81

解决方案 »

  1.   


    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,搞不清楚了。
      

  2.   

    import java.io.*;
    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);
      }
    }
      

  3.   

    整数字符串用Integer 类的强制转换函数就可以了
      

  4.   

    int n = Integer.parseInt(args[0]);----------------------------------int n = 0;
    byte[] bb = new byte[256];
    int nn = System.in.read(bb);n = Integer.parseInt(new String(bb,0,nn));---------------------------------------
    转换整数字符串一定要用 Integer.parseInt(str);
      

  5.   


    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();
    }
    }
      

  6.   

    回 tdy1234() 
    你的这个方法我试过的~好象整数字符不能用read(),还是谢谢你。回 realsantino()
    谢谢你的帮忙,运行正确了。回 david2083()
    我想用你的这个方法,我看书的时候这一章节介绍了转换类型,不过我还在学习中,谢谢你的帮助。
      

  7.   

    package com.eon.platina.plugin;import java.io.*;
    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);
      }
    }
    经过调试 没问题