elvo 发表于 2014-8-14 11:26:09

考考你,这个程序你能找出多少问题来????

本帖最后由 elvo 于 2014-8-16 16:42 编辑

using System;

namespace TestU
{
      class Calc
      {
                public static void main(String[] args)
                {
                        Console.Write("请输入数字A: ");
                        string A = Console.ReadLine();

                        Console.Write("请选择运算符号(+、-、*、/): ");
                        string B= Console.ReadLine();

                        Console.Write("请输入数字B: ");
                        string B = Console.ReadLine();

                        string C = Console.ReadLine();
                        string D = "";

                        if(B == "+")
                              D = Convert.ToString(Convert.ToDouble(A) + Convert.ToDouble(C));
                        if(B == "-")
                              D = Convert.ToString(Convert.ToDouble(A) - Convert.ToDouble(C));
                        if(B == "*")
                              D = Convert.ToString(Convert.ToDouble(A) * Convert.ToDouble(C));
                        if(B == "/")
                              D = Convert.ToString(Convert.ToDouble(A) / Convert.ToDouble(C));
                        Console.WriteLine("结果是:"+D);
                }
      }
}



上面的程序是OOP,C#写的计算器,,大家看看有什么问题。。。

鱼C侦探团

elvo 发表于 2014-8-14 11:41:13

我来顶一下,程序是存在问题的

Angel丶L 发表于 2014-8-14 12:17:52

C是需要输入答案的值 D是 你代码计算的值 你最后输出D没有判断C和D 问题错在哪?

Angel丶L 发表于 2014-8-14 12:19:25

看到了 你错在
   if(B == "+")
                              D = Convert.ToString(Convert.ToDouble(A) + Convert.ToDouble(C));
                        if(B == "-")
                              D = Convert.ToString(Convert.ToDouble(A) - Convert.ToDouble(C));
                        if(B == "*")
                              D = Convert.ToString(Convert.ToDouble(A) * Convert.ToDouble(C));
                        if(B == "/")
                              D = Convert.ToString(Convert.ToDouble(A) / Convert.ToDouble(C));

这些 为什么是A和C 进行 算术运算 而不是B?

elvo 发表于 2014-8-14 12:34:15

Angel丶L 发表于 2014-8-14 12:19
看到了 你错在




然后呢,你觉得这个程序还有其他问题么?

Angel丶L 发表于 2014-8-14 12:36:48

elvo 发表于 2014-8-14 12:34
然后呢,你觉得这个程序还有其他问题么?

这个程序你能找出多少问题????
我看到标题了 不是提问 是 找问题。

elvo 发表于 2014-8-14 12:38:00

Angel丶L 发表于 2014-8-14 12:36
这个程序你能找出多少问题????
我看到标题了 不是提问 是 找问题。

恩,除了你说的问题之外还有其他问题么?

Angel丶L 发表于 2014-8-14 12:39:50

可以用else if

elvo 发表于 2014-8-14 12:43:04

Angel丶L 发表于 2014-8-14 12:39
可以用else if

这个应该不是什么致命的大问题,还有一些问题,其中一个是运行期报错的问题

elvo 发表于 2014-8-14 17:52:25

没人回答,我自己先顶一个!!!!!恩,当除数为0的时候没有做相应的异常处理。。。不过这个程序还存在其他问题。。。。。。聪明仔细的您一定看得出

elvo 发表于 2014-8-15 08:32:23

顶起来!!!!!!!!!!!!

ColbySuns 发表于 2014-8-15 09:43:26

两个B,后面这个C没有用到。应该不能定义两个B吧。

Lvtu 发表于 2014-8-15 10:12:24

还没有学C#,帮忙顶一下!

elvo 发表于 2014-8-15 13:02:17

ColbySuns 发表于 2014-8-15 09:43
两个B,后面这个C没有用到。应该不能定义两个B吧。

的确,这是一个问题,前面angle、L也指出了。。。恩,你还能发现其他问题么?

elvo 发表于 2014-8-15 13:03:22

Lvtu 发表于 2014-8-15 10:12
还没有学C#,帮忙顶一下!

其实这个程序很简单,看字面意思也能看得懂的,你可以找不是语法的错误

elvo 发表于 2014-8-16 08:06:31

又要沉下去了,,我顶一个先。。。。

elvo 发表于 2014-8-16 16:44:26

顶一个再说。。。这个东东我很伤心啊
页: [1]
查看完整版本: 考考你,这个程序你能找出多少问题来????