Visual Basic:如何只接受0和1?

时间:2014-04-05 11:22:20

标签: visual-studio-2010 input

很抱歉打扰了,但我一直在研究二进制加法代码已有一段时间了,我几乎已经完成了。但是,仍然存在一个小问题,我一直在努力修复涉及有效输入。 在这段代码中,它应该找到二进制输入的长度,并在添加它们之前将每个字符转换为denary。如果输入的输入不是0或1,则它应拒绝输入并告诉用户重新启动代码。  我遇到的问题是,当输入错误数据时,代码将简单地崩溃,而不是转到代码行,它将告诉用户它是无效输入。有谁知道我的问题的解决方案?

注意:对于输入的二进制值,我重复了两次此代码。

我认为错误的程序部分目前如下:

 Y is what I am using to convert the value to denary so I can add binary values together in denary form. [integer]
 binarya is the input value. [string]
 chart is the current character being converted. [integer]
 current is the current character converted to denary. [integer]
 denarya is the denary value of binarya. [integer]



Y = 1
binarya = console.readline
Len(binarya)
For i = Len(binarya) to 1 step -1
chart = Mid(binarya, i, 1)
If chart <> "1" and chart <> "0"  then
Console.readline("This is not valid BINARY input, restart the code!")
Console.readline
End if
current = chart * 1 * Y
denarya = denarya + current
Y = Y * 2
Next

1 个答案:

答案 0 :(得分:0)

你应该写信息,而不是阅读。此外,您应该在阅读后返回。

Y = 1
binarya = console.readline
Len(binarya)
For i = Len(binarya) to 1 step -1
    chart = Mid(binarya, i, 1)
    If chart <> "1" and chart <> "0"  then
        Console.WriteLine("This is not valid BINARY input, restart the code!")
        Console.ReadLine
        Return
    End if
    current = chart * 1 * Y
    denarya = denarya + current
    Y = Y * 2
Next