我的程序如下:
import java.io.*;
public class FloatGet
{
public static void main(String args[])
{
float a=0,c=0;
int b;
System.out.println("请输入浮点数:");
try
{
a=(float)System.in.read();
}
catch(Exception e)
{
System.out.println("error:"+e.toString());
}
c=a%10;
b=(int)(a-c);
System.out.println("小数部分:"+c);
System.out.println("整数部分:"+b);
}//end of main method
}//end of class
输入:23.5
输出:
小数部分:0.0
整数部分:50
请大家帮看看是怎么回事。
import java.io.*;
public class FloatGet
{
public static void main(String args[])
{
float a=0,c=0;
int b;
System.out.println("请输入浮点数:");
try
{
a=(float)System.in.read();
}
catch(Exception e)
{
System.out.println("error:"+e.toString());
}
c=a%10;
b=(int)(a-c);
System.out.println("小数部分:"+c);
System.out.println("整数部分:"+b);
}//end of main method
}//end of class
输入:23.5
输出:
小数部分:0.0
整数部分:50
请大家帮看看是怎么回事。
try{
float b = Float.ParseFloat(a);
String c = a.replace('.','-');
String[] d = c.split("-");
System.out.println("小数部分:"+d[1]);
System.out.println("整数部分:"+d[0]);
}
catch(Exception e)
{
System.out.println("输入的不是浮点数。");
}
b=(int)(a-c)
有问题
初学java,还没学
Float.ParseFloat(a);
a.replace('.','-');
c.split("-");
这些类的方法。to langliu(魑魅魍魉)
c=a%1;//是想取余,得到小数部分。---a%10是打错了。
b=(int)(a-c);//原数减掉小数部分就是整数部分了。
public class FloatGet
{
public static void main(String args[])
{
float a=0,c=0;
int b;
System.out.println("请输入浮点数:");
try
{
// 更改
a=Float.parseFloat((new BufferedReader(new InputStreamReader(System.in))).readLine());
}
catch(Exception e)
{
System.out.println("error:"+e.toString());
}
c=a%1;
b=(int)(a-c);
System.out.println("小数部分:"+c);
System.out.println("整数部分:"+b);
}//end of main method
}//end of class
那么 a = (float)'1' 也就是 49 .
2)应该改为 readLine 获取 String 类型,通过parseFloat转换为float类型.
你 这样写
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
float b = new Integer(in.readLine()).floatValue();
谢谢。
看来光有基本的Java基本语法知识是不够的。还需要进行各种类的学习。
我的入门书出的习题超出java基本语法结构章节的内容范围了。