提问人:minimini 提问时间:12/21/2022 最后编辑:minimini 更新时间:12/21/2022 访问量:196
为什么 Main 不运行?[复制]
Why isnt the Main running? [duplicate]
问:
我做错了什么,让它不起作用? 程序没有完成,但我需要知道我在“静态空隙主”上做错了什么 我已经看了几个小时,试图找出谷歌的问题,但我真的无法理解。可能整个代码都是错误的,但我只想回答主要问题,其余的我稍后会看。
Main 未运行:这是一张错误图片
另一个用于更多代码,另一个用于更多代码
static void Main(string[] args)
{
string[] ämnen = { "Matematik", "Svenska", "Engelska", "Historia", "Fysik" };
int[] poäng = new int[5];
char[] betyg = new char[6];
Laspoang(ämnen, poäng);
Af(ämnen, poäng, betyg);
SkrivUtBetyg(ämnen, poäng, betyg);
bool avsluta = false;
while (!avsluta)
Console.Write("[A]skriv betyg i A-F\n");
Console.Write("[B]statistik\n");
Console.Write("[C]skriv ut betyg\n");
Console.Write("[D]avsluta\n");
Console.WriteLine("\nDitt val: ");
char menyVal;
menyVal = Console.ReadLine()[0];
switch (menyVal)
{
case 'a':
case 'A':
Af(ämnen, poäng, betyg);
break;
case 'b':
case 'B':
stat(ämnen, poäng, betyg);
break;
case 'c':
case 'C':
//ej klar
break;
case 'd':
case 'D':
Console.WriteLine("Hejdå");
avsluta = true;
break;
} }
static void Laspoang(string[] ämnen, int[] poäng)
{
int poängen;
for (int i = 0; i < ämnen.Length; i++)
{
Console.WriteLine("Mata in poängen mellan 0-100 för " + ämnen[i] + ": ");
poängen = Convert.ToInt32(Console.ReadLine());
poäng[i] = poängen;
}
}
static void Af(string[] ämnen, int[] poäng, char[] betyg)
{
for (int i = 0; i < ämnen.Length; i++)
{
if (poäng[i] > 90 && poäng[i] <= 100)
betyg[i] = 'A';
else if (poäng[i] > 80)
betyg[i] = 'B';
else if (poäng[i] > 70)
betyg[i] = 'C';
else if (poäng[i] > 60)
betyg[i] = 'D';
else if (poäng[i] >= 50)
betyg[i] = 'E';
else if (poäng[i] >= 0)
betyg[i] = 'F';
else
betyg[i] = '!';
Console.WriteLine(ämnen[i] + "= " + betyg[i]);
}
}
static void stat(string[] ämnen, int[] poäng, char[] betyg)
{
int betyga = 0;
int betygb = 0;
int betygc = 0;
int betygd = 0;
int betyge = 0;
int betygf = 0;
int poängtot = 0;
for (int i = 0; i < poäng.Length; i++)
{
if (poäng[i] > 90 && poäng[i] <= 100)
betyga++;
else if (poäng[i] > 80)
betygb++;
else if (poäng[i] > 70)
betygc++;
else if (poäng[i] > 60)
betygd++;
else if (poäng[i] >= 50)
betyge++;
else if (poäng[i] >= 0)
betygf++;
else
betyg[i] = '!';
}
Console.WriteLine("antal A: " + betyga);
Console.WriteLine("antal B: " + betygb);
Console.WriteLine("antal C: " + betygc);
Console.WriteLine("antal D: " + betygd);
Console.WriteLine("antal E: " + betyge);
Console.WriteLine("antal F: " + betygf);
for (int i = 0; i < poäng.Length; i++)
{
poängtot = poängtot + poäng[i];
}
Console.WriteLine("totala poäng: " + poängtot);
}
static void SkrivUtBetyg(string[] ämnen, int[] poäng, char[] betyg)
{
}
答:
0赞
Peter
12/21/2022
#1
简短的回答:你需要把它放在一个标签里。Program
试一试
using System;
class Program
{
static void Main(string[] args)
{
string[] ämnen = {"Matematik", "Svenska", "Engelska", "Historia", "Fysik"};
int[] poäng = new int[5];
char[] betyg = new char[6];
Laspoang(ämnen, poäng);
Af(ämnen, poäng, betyg);
SkrivUtBetyg(ämnen, poäng, betyg);
bool avsluta = false;
while (!avsluta)
Console.Write("[A]skriv betyg i A-F\n");
Console.Write("[B]statistik\n");
Console.Write("[C]skriv ut betyg\n");
Console.Write("[D]avsluta\n");
Console.WriteLine("\nDitt val: ");
char menyVal;
menyVal = Console.ReadLine()[0];
switch (menyVal)
{
case 'a':
case 'A':
Af(ämnen, poäng, betyg);
break;
case 'b':
case 'B':
stat(ämnen, poäng, betyg);
break;
case 'c':
case 'C':
//ej klar
break;
case 'd':
case 'D':
Console.WriteLine("Hejdå");
avsluta = true;
break;
}
}
static void Laspoang(string[] ämnen, int[] poäng)
{
int poängen;
for (int i = 0; i < ämnen.Length; i++)
{
Console.WriteLine("Mata in poängen mellan 0-100 för " + ämnen[i] + ": ");
poängen = Convert.ToInt32(Console.ReadLine());
poäng[i] = poängen;
}
}
static void Af(string[] ämnen, int[] poäng, char[] betyg)
{
for (int i = 0; i < ämnen.Length; i++)
{
if (poäng[i] > 90 && poäng[i] <= 100)
betyg[i] = 'A';
else if (poäng[i] > 80)
betyg[i] = 'B';
else if (poäng[i] > 70)
betyg[i] = 'C';
else if (poäng[i] > 60)
betyg[i] = 'D';
else if (poäng[i] >= 50)
betyg[i] = 'E';
else if (poäng[i] >= 0)
betyg[i] = 'F';
else
betyg[i] = '!';
Console.WriteLine(ämnen[i] + "= " + betyg[i]);
}
}
static void stat(string[] ämnen, int[] poäng, char[] betyg)
{
int betyga = 0;
int betygb = 0;
int betygc = 0;
int betygd = 0;
int betyge = 0;
int betygf = 0;
int poängtot = 0;
for (int i = 0; i < poäng.Length; i++)
{
if (poäng[i] > 90 && poäng[i] <= 100)
betyga++;
else if (poäng[i] > 80)
betygb++;
else if (poäng[i] > 70)
betygc++;
else if (poäng[i] > 60)
betygd++;
else if (poäng[i] >= 50)
betyge++;
else if (poäng[i] >= 0)
betygf++;
else
betyg[i] = '!';
}
Console.WriteLine("antal A: " + betyga);
Console.WriteLine("antal B: " + betygb);
Console.WriteLine("antal C: " + betygc);
Console.WriteLine("antal D: " + betygd);
Console.WriteLine("antal E: " + betyge);
Console.WriteLine("antal F: " + betygf);
for (int i = 0; i < poäng.Length; i++)
{
poängtot = poängtot + poäng[i];
}
Console.WriteLine("totala poäng: " + poängtot);
}
static void SkrivUtBetyg(string[] ämnen, int[] poäng, char[] betyg)
{
}
}
评论
2赞
K. A.
12/21/2022
public
在 main 方法中,(for ) 不是必需的。;)public static void Main(string[] args)
1赞
Rufus L
12/21/2022
这是不准确的 - 该方法不必是(它也不包含)。Main
public
class
0赞
Peter
12/21/2022
这取决于编译器吗?如果编译器/框架是 4.5.6,那么它需要有最新的 .net core,那么,不,它不需要。真public
0赞
Peter
12/21/2022
尝试在 dotnetfiddle 中使用和不使用 public 运行相同的代码
0赞
madreflection
12/21/2022
Rufus L 所说的话自 .NET 首次发布以来一直是正确的。它在编译器或运行时版本之间没有变化,或者类似的东西。
评论
Program
public class Program { /* your code here */ }