第一次编程

ectizolt.

成员
加入
2014年2月5日
消息
7
编程经验
Beginner
嗨,我是新的编程;请忍受我:Friendly_wink:
我目前正在为学校调试这个计划。
我假设它的结构化是通过调用该方法 - forexample(我不知道,把它放在这里)
我只是无法理解它,有人可以帮助我获得这个程序吗?

C#:
// This program uses the Array.BinarySearch method
// to find a target within an array.
// Fix both the logic and syntax errors.

using Systems;

class DebugSeven
{
    static void Main(string[] args)
    {
        // WARNING: The array firstNames cannot be changed
        //  in any way.
        // ------------------------------------------------
        string[] firstNames = { "Johnny", "Alice", "Cory",
                                "Steve", "Dennis" };
        // ------------------------------------------------

        int index;
        string searchedName = PromptName();
        while (searchedName.Equals("end"))
        {
            index = Array.BinarySearch(firstNames, searchedName);
            Display(index, searchedName);
        }

        Console.Read();
    }

    private void Display(int index, string name)
    {
        Console.WriteLine();
        if (index >= 0)
        {
            Console.WriteLine("Yes, {0} is in our course.", searchedName);
        }
        else
        {
            Console.WriteLine("No, {0} is not in our course.", name);
        }
        Console.Write();
    }

    private string PromptName()
    {
        Console.Write("To terminate the program, enter 'end' for the student name.");
        Console.Write("Enter the first name of the student to be searched in our course: ");
        return Console.ReadLine();
    }
}
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,714
地点
悉尼,澳大利亚
编程经验
10+
嗯,你怎么解释你认为代码在第一个地方努力实现的目标?在此之后,准确地解释你所做的代码正在做什么以及对你发出问题的原因。如果您的老师认为您可以这样做,那么您显然已经教过了一些事情,所以如果您甚至不知道如何调用方法,那么我建议您没有关注。我当然不是说我不会有帮助,但如果你只是说"I have no idea"然后你需要回到一个广场,得到一个想法。
 

ectizolt.

成员
加入
2014年2月5日
消息
7
编程经验
Beginner
它是一个程序,在您输入名称,它会通过查找数据库来告诉您是否有效。在此程序中,它应该是数组中的名称之一。
-它是 循环时 所以它会继续问,直到你说 Sentinel价值 end
- 通过通过验证输入 如果声明 (如果输入的值在数组中,则显示())

到目前为止,这是我到目前为止的。
我设法通过删除主要的显示()来运行它,但它在第一个输入之后就会停止。程序将终止我的意思。
显然那是错的,但我不知道如何使展出工作。我不知道我应该展示什么参数()

C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Lab4DebugSevenFixed
{
    class DebugSeven
    {
        static void Main(string[] args)
        {
            // WARNING: The array firstNames cannot be changed
            //  in any way.
            // ------------------------------------------------
            string[] firstNames = { "Johnny", "Alice", "Cory",
                                "Steve", "Dennis" };
            // ------------------------------------------------

            int index;
            string searchedName = PromptName();
            while (searchedName.Equals("end"))
            {
                index = Array.BinarySearch(firstNames, searchedName);
                Display();
            }

            Console.Read();
        }

        private void Display(int index, string name, string searchedName)
        {
            Console.WriteLine();
            if (index >= 0)
            {
                Console.WriteLine("Yes, {0} is in our course.", searchedName);
            }
            else
            {
                Console.WriteLine("No, {0} is not in our course.", name);
            }
        }

        private static string PromptName()
        {
            Console.WriteLine("To terminate the program, enter 'end' for the student name.");
            Console.Write("Enter the first name of the student to be searched in our course: ");
            return Console.ReadLine();
        }
    }
}

这不会运行,它给了我一个错误。
没有重叠的方法'显示'需要0个参数
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,714
地点
悉尼,澳大利亚
编程经验
10+
忘记了剩下的那一刻。从这个开始:
    private string PromptName()
    {
        Console.Write("To terminate the program, enter 'end' for the student name.");
        Console.Write("Enter the first name of the student to be searched in our course: ");
        return Console.ReadLine();
    }
解释一下的每一行正在做什么。
 

ectizolt.

成员
加入
2014年2月5日
消息
7
编程经验
Beginner
忘记了剩下的那一刻。从这个开始:
    private string PromptName()
    {
        Console.Write("To terminate the program, enter 'end' for the student name.");
        Console.Write("Enter the first name of the student to be searched in our course: ");
        return Console.ReadLine();
    }
解释一下的每一行正在做什么。

这是每个循环的提示。
如果您运行我粘贴的最后一个代码。这会弹出并让您输入名称。但是,在您完成程序之后将关闭
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,714
地点
悉尼,澳大利亚
编程经验
10+
这是每个循环的提示。
如果您运行我粘贴的最后一个代码。这会弹出并让您输入名称。但是,在您完成程序之后将关闭

我让你解释每条线的表现。你有问题的一个原因是因为你试图立刻看一下,而不是将它击败。该方法具有目的,并且可以在任何应用程序中满足该目的,所以独立于代码的其余部分。因此,您可以在孤立中处理此方法,了解它并确保它应该工作,然后在您在其余代码上工作时忘记它。显示方法相同,即,您可以孤立地处理它,然后,当您知道它正在正常工作时,忘记它,然后忘记您,然后专注于利用它的代码。这很简单"divide and conquer"您应该如何接近任何复杂的问题,编程或其他方式。

所以,如果你无法描述该提示名称方法的每一行正在做什么,那么你就无法知道它是否正在做它应该做什么。如果是这种情况,您无法修复代码中的逻辑和语法错误。所以,我再次问,那个代码的每一行都做了什么,并且每个行动都有意义?
 

ectizolt.

成员
加入
2014年2月5日
消息
7
编程经验
Beginner
C#:
private string PromptName()

{

    Console.Write("To terminate the program, enter 'end' for the student name."); [B]// its a prompt telling the user the sentinel value to end the program[/B]

    Console.Write("Enter the first name of the student to be searched in our course: "); [B]// its another prompt to ask the user to type in a name[/B]

    return Console.ReadLine(); [B]// I never had a return statement exercise. i know the way where in like ..... studentName = Console.ReadLine()[/B]

}
 
Last edited:

ectizolt.

成员
加入
2014年2月5日
消息
7
编程经验
Beginner
C#:
 private void Display(int index, string name, string searchedName) [B]// I DONT KNOW WHAT THIS FOR[/B] [B]OR WHAT TO WRITE IN IT TO MAKE IT WORK[/B] (DIFFICULTY IN UNDERSTANDING ARGUES AND PARAMETERS)
        {
            Console.WriteLine();
            if (index >= 0) [B]// I DONT EXACTLY UNDERSTAND THIS IF STATEMENT. I MEAN THE WAY IT SHOULD WORK. I ASSUME INDEX ARE THE SUBSCRIPT IN THE ARRAY {0,1,2,3,4} <<<<<<INDEXES?[/B]
            {
                Console.WriteLine("Yes, {0} is in our course.", searchedName); [B]//SOMETHING OFF HERE IDK IF I SHOULD USE SEARCHEDNAME OR NAME[/B]
            }
            else
            {
                Console.WriteLine("No, {0} is not in our course.", name); [B]//SOMETHING OFF HERE IDK IF I SHOULD USE SEARCHEDNAME OR NAME[/B]
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,714
地点
悉尼,澳大利亚
编程经验
10+
C#:
private string PromptName()

{

    Console.Write("To terminate the program, enter 'end' for the student name."); [B]// its a prompt telling the user the sentinel value to end the program[/B]

    Console.Write("Enter the first name of the student to be searched in our course: "); [B]// its another prompt to ask the user to type in a name[/B]

    return Console.ReadLine(); [B]// I never had a return statement exercise. i know the way where in like ..... studentName = Console.ReadLine()[/B]

}

它比那样更多。第一行向用户写出了指令,并不在末尾添加行中断。这意味着下一行将写在前一个行。这实际上是有意义的吗?在该行的末尾或下一个开始时没有空间,所以它不会向用户看起来。我建议在一行和另一行上写下第一个提示是有意义的,这意味着应该使用写入写入而不是写入第一个提示。这是你应该拾取的第一个逻辑错误。

使用Write写入的下一个提示是有道理的。请注意,它有一个冒号和行的末尾的空间。无论用户类型如何响应提示符,都会在此之后立即出现,这是非常逻辑的。

最后一行是返回声明。如果你不知道那是什么,那么你真的没有太多的掌握基础知识。也许你没有被教导回报声明是什么,但我发现很难相信。我建议您遵循下面的签名中的教程链接,并通过此工作。它应该提供您所需的所有需要​​掌握基础知识,并装备您为此作业的体面施用。如果您之后仍然存在问题,那么所有的意味着再次发布。
 

ectizolt.

成员
加入
2014年2月5日
消息
7
编程经验
Beginner
哦,是的....这就是真的,我以为我已经修好了。但是,我理解的是我可以看到我是否能看到程序视觉错误和常识。我会通过经验来学习;我熟悉它的越多。

但这并没有解决我的问题。我需要知道如何使用主要方法使用不同的方法
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,714
地点
悉尼,澳大利亚
编程经验
10+
我需要知道如何使用主要方法使用不同的方法

无论方法如何调用方法都是相同的,因此您需要做的是学习如何编写和调用方法。我已经指出的教程链接可以向您展示如何执行此操作,以及C#基础的各种其他方面。
 
最佳 底部