This week's book giveaway is in the Testing forum.We're giving away four copies of The Way of the Web Tester: A Beginner's Guide to Automating Tests and have Jonathan Rasmusson on-line!See this thread for details.
Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!

# Accepting Numeric User Input

foyo soul
Greenhorn
Posts: 1
I am working on a Java program that calculates payroll and overtime pay. The user enters in the number of hours worked and the pay rate. My problem is that I cannot get the program to except numerical input from the keyboard. It's using unicode or something because the calculations are all wrong when I desk check the program. How do you get Java to read 40 hours as an integer of 40 and a double pay rate of \$10.00 as double variable of 10.00 from the keyboard as it is entered in by the user. I have been using the System.in.read() method for user input.
Here's what I have so far:
public class Pay
{
public static void main(String[] args) throws Exception
{
double payRate;
int hoursWorked;
double regularPay;
double overTimePay;

System.out.println("Enter the hours worked:");
System.out.println("Enter in the pay rate:");

if(hoursWorked == 50)
{
regularPay = payRate * 40;
overTimePay = (hoursWorked - 40) * (payRate * 2);
}
else if(hoursWorked == 45)
{
regularPay = payRate * 40;
overTimePay = (hoursWorked - 40) * (payRate * 2);
}
else if(hoursWorked == 40)
{
regularPay = payRate * 40;
overTimePay = 0.0;
}
else System.out.println("Invalid number of hours");

System.out.println("The number of hours worked is " + hoursWorked);
System.out.println("The hourly rate is " + payRate);
System.out.println("The regular pay is " + regularPay);
System.out.println("Overtime pay is " + overTimePay);
}

}

P. Sagdeo
Ranch Hand
Posts: 67
Uhh, the more knowledgeable people may want to correct me, but I think that one reads text using something else, like:
, not using system.in the way one uses system.out. In shorter terms, one has to make an instance of the JAVA reader in order to read input. Also, as a side note, you may have to include try/catch for IOExceptions.

James Lollar
Greenhorn
Posts: 4
You might try this (or something like it) to get your data,.
System.out.print("Enter the hours worked:");