0

私は、人が計算したい数値(1〜4)を入力し、指定された数値を入力して不足している変数を取得する単純な利息計算機を作成しようとしています。

コード:

using System;
using System.Convert;

public class InterestCalculator {
    static public void Main(string [] args) {
        int final, initial, rate, time, input;

        Console.WriteLine("What do you want to calculate? \n 1. Final amount after interest. \n 2. Initial amount after interest. \n 3. Interest rate. \n 4. Time passed");
        input = Convert.ToInt32(Console.ReadLine());
        switch (input){
            case 1:
                Console.WriteLine("Enter the initial amount.");
                initial = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Enter the interest rate.");
                rate = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Enter the time passed.");
                time = Convert.ToInt32(Console.ReadLine());
                final = initial * rate * time;
                Console.WriteLine("$" + final + " is the final amount after interest.");
                break;
            case 2:
                Console.WriteLine("Enter the final amount.");
                final = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Enter the interest rate.");
                rate = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Enter the time passed.");
                time = Convert.ToInt32(Console.ReadLine);
                initial = final/(rate * time);
                Console.WriteLine("$" + initial + " is the initial amount before interest.");
                break;
            case 3:
                Console.WriteLine("Enter the final amount.");
                final = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Enter the initial amount.");
                initial = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Enter the time passed.");
                time = Convert.ToInt32(Console.ReadLine);
                rate = final/(initial * time);
                Console.WriteLine("%" + initial + " per time cycle is the interest rate");
                break;
            case 4:
                Console.WriteLine("Enter the final amount.");
                final = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Enter the initial amount.");
                initial = Convert.ToInt32(Console.ReadLine);
                Console.WriteLine("Enter the interest rate.");
                rate = Convert.ToInt32(Console.ReadLine());
                time = final/(initial * rate);
                Console.WriteLine(initial + " cycles is the amount of time passed.");
                break;}
            default:
                Console.WriteLine("Invalid input.");
        }
    }
}

コンパイルプロセスでこのエラーが発生し続けます(モノを使用):

error CS1502: The best overloaded method match for System.Convert.ToInt32(bool) has some invalid arguments
error CS1503: Argument `#1' cannot convert `method group' expression to type `bool'
error CS1502: The best overloaded method match for `System.Convert.ToInt32(bool)' has some invalid arguments
error CS1503: Argument `#1' cannot convert `method group' expression to type `bool'
error CS1502: The best overloaded method match for `System.Convert.ToInt32(bool)' has some invalid arguments
error CS1503: Argument `#1' cannot convert `method group' expression to type `bool'
4

2 に答える 2

4

あなたの1Console.ReadLine()つにはブラケットがありません。したがって、メソッドを呼び出すのではなく、メソッドを渡しています。

于 2015-02-09T07:49:13.700 に答える
0

あなたしか持っていない場所のほとんど

Console.ReadLine() の代わりに Console.ReadLine

コードをチェックインします。例えば ​​-

ケース 2

time = Convert.ToInt32(Console.ReadLine);

これらすべての行を修正します。

また、最初に入力をローカル変数に取得してから変換を試みることをお勧めします。

于 2015-02-09T07:55:26.350 に答える