刚学完JBuilder的前2章,课后有一题是:判断变量a值是正数还是负数,结果在屏幕上显示出来~~我写的代码如下:  
   public  class  ACost  {  
     int  a;  
   public  static  void  main(String[]  args)  {  
       if  (a  >  0)  {  
           System.out.println("a是正数");  
       }  
       else  {  
           if  (a  <  0)  {  
               System.out.println("a是负数");  
           }  
           else  {  
               System.out.println("a为零");  
           }  
       }  
   }  
}  
这段代码很大问题,怎么写输入一个a值,哪个高手帮忙修改修改,谢谢!  
另外想拜个师傅~~嘿嘿,有人愿意吗?  

解决方案 »

  1.   

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    a = Integer.parseInt(br.readLine());
      

  2.   

    是很基础import java.io.*;
    import java.lang.*;
     public  class  ACost  {  
       
       public  static  void  main(String[]  args)  {  
    try{
       System.out.print("请输入数字a:");
    BufferedReader stdin =new BufferedReader(new InputStreamReader(System.in));
    String input=stdin.readLine();
        while(input.length()>0&& !isInt(input)){
         System.out.print("请输入数字a:");
         stdin =new BufferedReader(new InputStreamReader(System.in));
    input=stdin.readLine();
        }
    int a = Integer.parseInt(input);
           if  (a  >  0)  {  
               System.out.println("a是正数");  
           }  
           else  {  
               if  (a  <  0)  {  
                   System.out.println("a是负数");  
               }  
               else  {  
                   System.out.println("a为零");  
               }  
           }  
           }catch(Exception e){
            }
       }  
       //判断输入字符串是否为数字
    private static boolean isInt(String s) {
            try {
                Integer.parseInt(s);
                return true;
            } catch (NumberFormatException e) {
                return false;
            }
        }
    }  
      

  3.   

    public  class  ACost  {  
         int  a;  
       public  static  void  main(String[]  args)  {  
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
         a = Integer.parseInt(br.readLine());
           if  (a  >  0)  {  
               System.out.println("a是正数");  
           }  
           else  {  
               if  (a  <  0)  {  
                   System.out.println("a是负数");  
               }  
               else  {  
                   System.out.println("a为零");  
               }  
           }  
       }  
    }  
      

  4.   

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;/**
     * 
     *//**
     * @author ly
     *
     */
    public  class  ACost  {  
         int  a;  
       public  static  void  main(String[]  args) throws NumberFormatException, IOException  {  
       int  a; 
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
         a = Integer.parseInt(br.readLine());
           if  (a  >  0)  {  
               System.out.println("a是正数");  
           }  
           else  {  
               if  (a  <  0)  {  
                   System.out.println("a是负数");  
               }  
               else  {  
                   System.out.println("a为零");  
               }  
           }  
       }  
    }  
      

  5.   

    我也初学,可以用下面方法
    byte b[]=new byte[30];
    int n;
    n=System.in.read(b);
    //remove last two byte for 0x0A 0x0D
    int a=Integer.parseInt(new String(b,0,n-2));
    如果用图形方式的话,也可以用JOptionPane
      

  6.   

    System.out.println(a > 0? "正数":"负数");