0

ユーザーから整数値を受け取り、計算された解を出力するプログラムを作成しようとしています。より具体的には、1 週間の労働時間に regpay を掛けたものを取り、時間が 35 を超える場合は、regpay に 1.5 を掛けます。計算は正しいです。時間を乗算できるように入力フォームにすることはできません。

私は Java がまったく初めてで、あらゆる場所で解決策を探しています。助けていただければ幸いです。

これまでに取り組んだコードは次のとおりです。

import java.util.Scanner;

/**
*
* @author Brian
*/
public class Chapter1_Prog4 {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

    Scanner userInput = new Scanner(System.in);

    String hours;
    System.out.print("Enter amount of hours worked for the week:");
    hours = userInput.next();

    double regpay, earned, overh;

    regpay = 15;
    earned = 0;
    overh = 0;

    if (hours<=35)
        earned = (hours*regpay);
    else
        overh = ((hours-35)*(regpay*1.5));
        earned = (35*regpay)+overh;

    System.out.println( "Amount earned before taxes: $" + earned);

 }
 }
4

3 に答える 3

0

Java では、文字列を整数と同じように使用することはできません。次の行はコンパイルされません

if ("string" <= 100)

多くの解決策が適用可能です。

この行の後:

hours = userInput.next();

次の行を追加します。

Integer hoursInteger = Integer.valueOf(hours);

時間から時間までのすべての参照をリファクタリングしますhoursInteger

于 2013-09-07T22:45:11.370 に答える
0

前述のように、ユーザーからの入力は文字列であり、float または int に変換できます。次に例を示します。

String hours = "3.2";
int integer = Integer.parseInt(hours);
float floatingPointNumber = Float.parseFloat(hours);

ただし、安全のために、これを行う場合は、try-catch を実行して、ユーザーが数値以外を入力してもプログラムがクラッシュしないようにする必要があります。次に例を示します。

String test = "r";
try{
int integer = Integer.parseInt(test);
}catch (NumberFormatException e) {
    System.out.println(e);
}
于 2013-09-07T23:14:40.413 に答える