当前位置: 代码迷 >> Java Web开发 >> 新学JAVA请问一个有关问题
  详细解决方案

新学JAVA请问一个有关问题

热度:80   发布时间:2016-04-17 01:10:08.0
新学JAVA请教一个问题
import javax.swing.JOptionPane;
public class Test
{
  public static void main( String args[] ) 
  {
  String input ;
  float a = Float.parseFloat(input);
  input = JOptionPane.showInputDialog("请输入一个浮点类型的数");
  JOptionPane.showMessageDialog(null,"的整数部分是:"+(int)a,"结果",JOptionPane.PLAIN_MESSAGE);
  }
}

想输入一个浮点类型的数 然后输出它的整数部分 用这种方法为什么不行?
虚心求教各位了!

------解决方案--------------------
1、input变量未初始化;
2、float a = Float.parseFloat(input);这句代码在你未获取到输入的值使已经执行了

------解决方案--------------------
Java code
import javax.swing.JOptionPane;public class TestInputDialog {    public static void main(String[] args) {    String input = JOptionPane.showInputDialog("请输入一个浮点类型的数");    // 不行,比如: 输入:123456789.123456789;输出:123456792    // float a = Float.parseFloat(input);    // JOptionPane.showMessageDialog(null,"的整数部分是:"+(int)a,"结果",JOptionPane.PLAIN_MESSAGE);    String output = input.substring(0, input.contains(".") ? input        .indexOf(".") : input.length());    JOptionPane.showMessageDialog(null, "的整数部分是:" + output, "结果",        JOptionPane.PLAIN_MESSAGE);    }}
------解决方案--------------------
很简单,要input变量 float转int型你得先让人知道你的input是什么东西。
String input ;
float a = Float.parseFloat(input);这里input就是null。
------解决方案--------------------
public static void main(String[] args)
{
String inputMessage=JOptionPane.showInputDialog("请输入一个浮点类型的数"); 
Double dou = 0.0D;
if(inputMessage.contains("."))
{
dou = Double.parseDouble(inputMessage.split("\\.")[1]); 
}

JOptionPane.showMessageDialog(null,inputMessage+"的整数部分是:"
+(int)Math.round(Double.parseDouble(inputMessage))
+" 小数部分是"+Math.round(dou),"结果",JOptionPane.PLAIN_MESSAGE);

}
这样Ok!
------解决方案--------------------
Java code
 String input = JOptionPane.showInputDialog("请输入一个浮点类型的数");         BigDecimal a = new BigDecimal(input);         BigDecimal b = a.subtract(new BigDecimal(a.intValue()));          JOptionPane.showMessageDialog(null,input+"的整数部分是:"+a.intValue()+" 小数部分是"+b,"结果",JOptionPane.PLAIN_MESSAGE);
  相关解决方案