java的控制台输入浮点数

来源:百度知道 编辑:UC知道 时间:2024/07/12 15:03:09
import java.util.*;
public class xuexi{

public static void main ( String [] args ){

double number1,number2,sun;
sun = 0;
System.out.println("请输入你的工作总时间");
Scanner shijian = new Scanner ( System.in );
number1 = shijian.nextInt();
System.out.println("请输入你一个钟的工资");
Scanner gongzi = new Scanner ( System.in );
number2 = gongzi.nextInt();

//工资是10元一个钟,时间是一天8小时,加班工资是3倍。
if( number1 > 8 ){
sun = number2 * 8 + number2 * 3 * (number1 - 8);
System.out.println("你的工资是" + sun);
}
else if ( number1 == 8 ){
sun = number2 * 8;
System.out.println("你的工资是" + sun);
}
else{
sun = number1 * number2;
System.out.println ( "你的工资是" + sun );
}

}
}
不知道为什么,只要输入浮点数编译能通过但是运行起来就唧唧歪歪啰里八嗦,让人蛋疼...
谁知到怎么改?教教我怎么样?如果可以的话,留个联系方式。

number2 = gongzi.nextInt();

你用nextInt();读入的是一个int 型的数 当然运行出错了

///改2个地方就OK了,就是以浮点数接受输入

import java.util.*;
public class xuexi{

public static void main ( String [] args ){

double number1,number2,sun;
sun = 0;
System.out.println("请输入你的工作总时间");
Scanner shijian = new Scanner ( System.in );
//////这里改
number1 = shijian.nextDouble();
System.out.println("请输入你一个钟的工资");
Scanner gongzi = new Scanner ( System.in );
/////这里改
number2 = gongzi.nextDouble();

//工资是10元一个钟,时间是一天8小时,加班工资是3倍。
if( number1 > 8 ){
sun = number2 * 8 + number2 * 3 * (number1 - 8);
System.out.println("你的工资是" + sun);
}
else if ( number1 == 8 ){
sun = number2 * 8;
System.out.println("你的工资是" + sun);
}
else{
sun = number1 * number2;
System.out.println ( "你的工资是" + sun );
}

} <