简体   繁体   English

C#简单兴趣计算器切换错误

[英]C# Simple interest calculator switch error

I am trying to make a simple interest calculator wherein a person enters a number (1 - 4) for what they want to calculate, then enter the given numbers and get the missing variable. 我正在尝试制作一个简单的兴趣计算器,其中一个人输入要计算的数字(1-4),然后输入给定的数字并获取缺失的变量。

code: 码:

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.");
        }
    }
}

I keep getting this error in the compilation process (using mono): 我在编译过程中不断收到此错误(使用mono):

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'

Well one of your Console.ReadLine() doesn't have brackets. 好吧,您的Console.ReadLine()没有括号。 So you're passing the method rather than calling it. 因此,您传递的是方法而不是调用它。

Most of the places you only have 您仅有的大多数地方

Console.ReadLine instead of Console.ReadLine() Console.ReadLine而不是Console.ReadLine()

Check in code. 签入代码。 For example - 例如 -

Case 2 情况二

time = Convert.ToInt32(Console.ReadLine);

Correct all these lines. 更正所有这些行。

Also, suggested to get input first into local variable and then try to convert. 另外,建议先将输入输入局部变量,然后再尝试转换。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM