程序的指令是:邮政编码由5个连续的数字组成。提示用户以字符串形式输入五位邮政编码。创建一个名为isvalid的java方法,并将字符串作为参数传递给该方法。在方法中,确定输入是否是有效的邮政编码。有效的邮政编码如下:只能包含数字(不允许非数字)。不能包含任何空格。长度不得超过5位。如果邮政编码有效,则向main方法返回true,否则返回false。
每次我输入一个有效的邮政编码,它仍然说假
这是我的密码:
import java.util.Scanner;
public class Main
{
public static void main (String[]args)
{
Scanner input = new Scanner (System.in);
System.out.println ("Enter a zip code: ");
String zipCode = input.nextLine ();
System.out.println (isValid (zipCode));
}
public static boolean isValid (String zipCode)
{
boolean yes = false;
int i = 0;
for (i = 0; i < zipCode.length (); i++)
{
int digit = zipCode.charAt (i);
//if only contains number
if (digit > 48 && digit < 57)
{
System.out.println (digit);
}
else
{
return false;
}
int len = zipCode.length ();
if (len == 4)
{
System.out.println (len);
}
else
{
return false;
}
}
return yes;
}
}
3条答案
按热度按时间bvuwiixz1#
您应该同时包含0和9,因此,请更改此行
到
另一方面,拉链的长度应该是5而不是4,因此,请更改这一行:
到
41ik7eoe2#
你的两个具体错误。
一般来说,您需要学习如何调试。最终你会得到一些观察错误的基本技能,但只有最简单的错误是可以观察的(这肯定是一个词,不是吗?)
如果必须的话,可以拿出纸和笔,但游戏的名字是:你计算你认为代码应该在你脑子里做什么。然后让计算机来做,并比较注解:每个变量应该是什么,每次调用的结果是什么?对照你的想法。你和电脑有什么分歧?缺陷。
那就只需要选择一些输入,然后你就可以走了。调试器使这变得简单得多,但是
System.out.println
声明和一些汗水也能解决这个问题。下次就这么做吧,别再问了。这是一个很好的练习,如果你做不到这一点,作为一个程序员,你将永远不值一罐豆子。
jm2pwxwz3#
您可以重构代码并使用匹配器来减少验证。