每当我尝试启动它时,它就会出现这些错误并且应用程序无法运行。为什么?我怎么能解决它,是我的编辑吗? (我正在使用Microsoft visual studio)
这是代码。
using System;
namespace Inputoftext
{
class Program
{
string str;
public void detail()
{
Console.WriteLine("Multiplication Calculator.");
Console.WriteLine("Number 1: ");
string input = Console.ReadLine();
int number;
Int32.TryParse(input, out number);
Console.WriteLine("Number 2: ");
string inputa = Console.ReadLine();
int number;
Int32.TryParse(input, out number);
}
public void calculations()
{
return input * inputa;
}
public void display()
{
Console.WriteLine();
Console.WriteLine(str);
Console.ReadKey();
}
}
class call
{
static void Main()
{
Program r = new Program();
r.detail();
r.calculations();
r.display();
Console.ReadKey();
}
}
}
顺便说一下,我是c#的新手,所以不要让它变得复杂,我要求我提供改进代码的建议。
答案 0 :(得分:1)
这是您程序的固定版本:
class Program
{
int answer;
int number;
int numbera;
public void detail()
{
Console.WriteLine("Multiplication Calculator.");
string input;
Console.WriteLine("Number 1: ");
input = Console.ReadLine();
Int32.TryParse(input, out number);
Console.WriteLine("Number 2: ");
input = Console.ReadLine();
Int32.TryParse(input, out numbera);
}
public void calculations()
{
answer = number * numbera;
}
public void display()
{
Console.WriteLine();
Console.WriteLine(answer);
}
}
class call
{
static void Main()
{
Program r = new Program();
r.detail();
r.calculations();
r.display();
}
}
您可以研究这些差异,以便开始了解错误。
答案 1 :(得分:-3)
看起来你是初学者。
首先,让你的第二课(程序)静态。像
public static void detail()
现在,而不是做
Int32.TryParse(input, out number);
执行此操作:将号码存储为" public"在您的Program类的顶部。摆脱TryParse,你不需要它
像
class Program
{
public int number; // can be accessed by other functions/methods
public int othernumber ; // can be accessed by other functions/methods
public int sum;
public void detail()
{
Console.WriteLine("Multiplication Calculator.");
Console.WriteLine("Number 1: ");
string input = Console.ReadLine();
number = int.Parse(input);
Console.WriteLine("Number 2: ");
string inputa = Console.ReadLine();
othernumber = int.Parse(inputa);
}
对于计算()你会返回一些东西,但它是无效的(意味着它不会返回)
这样做:
public void calculations()
{
sum = number * othernumber; // sum should be a global variable
}
显示屏执行:
public void display()
{
Console.WriteLine("\n"); // doing \n makes a new line (you'll see)
Console.WriteLine(sum.toString()); // we need to make it a string like that
Console.ReadKey();
}
如果您仍然遇到错误,请创建一个新项目。它可能是Visual Studio的问题。
但那些我告诉你的事情!
@Aaron Anodide的回答很好,但谈到Console.WriteLine(回答);它会出错,因为你试图写一个int而不是一个字符串!!!!