i=System.in.read();
===========>>>>>>>>>>>>>>
try{
  i=System.in.read();
}catch( IOException ioe ){
  System.out.println( "Wrong" );
}还有,最前面加上
import java.io.IOException;

解决方案 »

  1.   

    谢谢
    现在把程序该为
    import java.io.IOException;
    public class SplitFloat
    {
    public static void main(String args[])
    {
    float i=0,n;
    int m;
            System.out.println("请输入一个浮点数:");
        try
        {
              i=System.in.read();
        }
        catch( IOException ioe )
        {
                  System.out.println( "Wrong" );
            } m=(int)i;
    n=i-m;
    System.out.println("该浮点数的整数部分为:"+m);
    System.out.println("该浮点数的小数部分为:"+n);
    }
    }
    为什么输出结果不是我想要的
      

  2.   

    我把程序该以下调试
    import java.io.IOException;
    public class SplitFloat
    {
    public static void main(String args[])
    {
    float i=0,n;
    int m;
            System.out.println("请输入一个浮点数:");
        try
        {
              i=System.in.read();
              System.out.println("你输入的浮点数为:"+i);
        }
        catch( IOException ioe )
        {
                  System.out.println( "Wrong" );
            } m=(int)i;
    n=i-m;
    System.out.println("该浮点数的整数部分为:"+m);
    System.out.println("该浮点数的小数部分为:"+n);
    }
    }
    输出结果为:
    请输入一个浮点数:
    100
    你输入的浮点数为:49.0
    该浮点数的整数部分为:49
    该浮点数的小数部分为:0.0为什么100变成49了呢?
      

  3.   

    i=System.in.read();
    返回的是一个int值
    而不是一个float值阿
    你这样赋值当然错了!
      

  4.   

    XKP:
    那怎样才能返回一个FLOAT值啊
    谢谢了
      

  5.   

    DataInputStream dis = new DataInputStream(System.in);
    i=dis.readFloat();你这样试试看
      

  6.   

    DataInputStream是什么类啊
    好象不能直接用啊
    编译错误
      

  7.   

    XKP:
    这是我的一道作业题
    该怎么写呢
    请你能说的详细一点吗
    谢谢
      

  8.   

    XKP:
    你是前辈了
    给小弟指点一下好不好
    拜托
      

  9.   

    作业应该自己做阿~~~~~~import java.io.DataInputStream;
      

  10.   

    我参加JAVA培训
    刚上了一节课
    输出结果还是不对啊请输入一个浮点数:
    100
    你输入的浮点数为:2.5638685E-9
    该浮点数的整数部分为:0
    该浮点数的小数部分为:2.5638685E-9前辈
    真是给你添麻烦了
      

  11.   

    明天下午就要交了
    后边还有几道题都是要输入数字
    你能给我发一些关于输入的资料吗 [email protected]
    谢谢
      

  12.   

    这是因为System.in.read()只能读取一个字节,而float是64位的,当然出错,请按照以下代码,经过测试:
    import java.io.*;
    public class SplitFloat
    {
    public static void main(String args[])
    {
    Float i=new Float(0);
    int m;  //整数部分
    String n; //小数部分
    String s=new String(); 
            System.out.println("请输入一个浮点数:");
        try
        {
              BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
              s=br.readLine();
              i=Float.valueOf(s);
              System.out.println("你输入的浮点数为:"+s);
                   }
        catch( IOException ioe )
        {
                  System.out.println( "Wrong" );
            }
                    n=s.substring(s.indexOf('.')+1,s.length()); //用于获得小数点前的数
                   
    m=i.intValue();  // 用于获得整型数

    System.out.println("该浮点数的整数部分为:"+m);
    System.out.println("该浮点数的小数部分为:"+n);
    }
    }问题已经解决了。