c# - 如何使代码显示信息?
问题描述
我正在尝试调试 C# 代码,但找不到为什么它不显示数据且没有错误消息的逻辑错误。
首先,代码是大块的,所以我尝试将代码拆分为更小的方法,但仍然无法找到我哪里出错的问题。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Drivers_license_exam
{
public partial class Form1 : Form
{
private string[] studentAnsArray = new string[20];
private string[] correctAnsArray = { "B", "D", "A", "A", "C", "A","B", "A", "C", "D", "B","C",
"D", "A", "D", "C","C", "B", "D", "A" };
public Form1()
{
InitializeComponent();
}
private void GetFile(out string fileName)
{
if (openFile.ShowDialog() == DialogResult.OK)
{
fileName = openFile.FileName;
}
else
{
fileName = "";
}
}
private void GetAndReadFile(string fileName)
{
string results;
StreamReader inputFile = File.OpenText(fileName);
while (!inputFile.EndOfStream)
{
results = inputFile.ReadLine();
studentAns.Items.Add(results);
//studentAnsArray[index] = inputFile.ReadLine();
//correctAns.Items.Add(studentAnsArray);
}
foreach (string answers in correctAnsArray)
{
correctAns.Items.Add(answers);
}
inputFile.Close();
}
private int TotCorrect()
{
int correct = 0;
for (int index = 0; index < correctAnsArray.Length; index++)
{
if (studentAnsArray[index]== correctAnsArray[index])
{
correctTxt.Text = index.ToString();
correct++;
}
}
return correct;
}
private int TotIncorrect()
{
int incorrect = 0, questNum = 1;
for (int index = 0; index < correctAnsArray.Length; index++)
{
if (studentAnsArray[index] == correctAnsArray[index])
{
incorrectAns.Items.Add("Question: " + questNum);
incorrectAns.Items.Add("Incorrect");
incorrect++;
}
}
return incorrect;
}
private bool PassedTest()
{
bool pass = false;
if (TotCorrect() >= 15)
{
passFailedTxt.Text = "Passed";
}
if (TotIncorrect() < 15)
{
passFailedTxt.Text = "Failed";
}
return pass;
}
private void displayRes_Click(object sender, EventArgs e)
{
string studentAns;
GetFile(out studentAns);
GetAndReadFile(studentAns);
TotCorrect();
TotIncorrect();
PassedTest();
}
private void exit_Click(object sender, EventArgs e)
{
this.Close();
}
private void Clear_Click(object sender, EventArgs e)
{
}
}
}
我期望代码做的是输出以下内容:
- 显示不正确的结果
- 在文本框中显示通过或失败
- 在文本框中显示正确和错误答案的总数
我从这段代码中得到的输出是: - 不在列表框中显示不正确的答案 - 尽管文本和数组中的答案是正确的,但显示失败 - 不显示正确和不正确答案的总数
解决方案
推荐阅读
- git - 检测更改空白或注释的提交
- node.js - 如何使用 node.js 在 IBM Cloudant DB 中加载数据?
- express - 原型访问被拒绝,处理它的正确方法?“x”不是其父级的“自己的财产”
- python - 来自部分字典流的 Pandas DataFrame
- flutter - Flutter:我可以强制 Flutter 从 pubspec.lock 安装包吗?
- tomcat - Apache TomCat 拒绝访问文件
- javascript - 本地存储缺少 ID 令牌,请进行身份验证
- reactjs - 如何使用“useMediaQuery”为小、中、大屏幕设置 Material-UI 断点
- python - 如何在python Django中保存到数据库之前进行逻辑操作
- android - android:buttonStyle 和 android:imageButtonStyle 可以用于 Theme.MaterialComponents 吗?