gpt4 book ai didi

java - 使用 Java 字符和字符串验证用户输入

转载 作者:行者123 更新时间:2023-11-30 02:10:24 25 4
gpt4 key购买 nike

我已经看到这个问题询问了 2 次,但我需要的正确响应尚未得到解决。

在本次评估中, 您将设计并编写一个 Java 控制台应用程序 验证数据入口 类(class)代码(如 IT4782) 和报告 回来如果 类(class)代码有效或 不是 有效的。 这应用使用 Java 字符 和要实现的字符串数据类型 验证。 你能使用任何一个 这 工具线环境 或你的 本地的 java 发展 环境 来完成这个作业。

要求 这个应用程序是如下: 该应用程序是阅读类(class)代码进入由用户 来自 键盘。 类(class)代码 被制作5 个字符并且应该跟随这些

规则:

  • 第一特点总是一个上案例一或更低案例一
  • 第二个字符始终是上层案件或较低的案例t
  • 第三,第四,第五,和第六个字符始终是数字 (0-9)然后应用程序验证类(class)代码高于规则并打印消息

如果科目编号已验证 或不。 如果类(class)代码不是 有效的, 申请表应打印 一个消息解释为什么 类(class)代码不是 有效。

输出应如下所示: Output should look like this

这是我的代码,我无法获得生成如图所示结果的代码。它输出所有无效消息。

package u4a1_validatecoursecode;

import java.util.Scanner;

public class U4A1_ValidateCourseCode {

public static void main(String[] args) {
// Larry Copy
Scanner s = new Scanner(System.in);
System.out.print("Enter a course code to validate (e.g. IT4782) : ");
String code = s.nextLine();
if (validateCode(code)) {
System.out.println("Course code: " + "" + code + "" + " is valid.");
} else {
System.out.println("Not valid code");
}
}

private static boolean validateCode(String code) {
if (code.length() != 6) {
return false;
} else {
//First character is always an upper case I or a lower case i
if (code.charAt(0) != 'I' && code.charAt(0) != 'i') {
return false;
}
System.out.println("integer is not an I or i");

// Second character is always an upper case T or a lower case t
if (code.charAt(1) != 'T' && code.charAt(1) != 't') {
return false;
}
System.out.println("integer is not a T or t");

// Third, fourth, fifth, and sixth characters are always digits (0-9)
if (!Character.isDigit(code.charAt(2))) {
return false;
}
System.out.println("integer 3 is not a number");

if (!Character.isDigit(code.charAt(3))) {
return false;
}
System.out.println("integer 4 is not a number");

if (!Character.isDigit(code.charAt(4))) {
return false;
}
System.out.println("integer 5 is not a number");

if (!Character.isDigit(code.charAt(5))) {
return false;
}
System.out.println("integer 6 is not a number");
return false;
}
}
}

最佳答案

  1. 当您返回 false; 后的代码不会执行,因此您永远不会知道它返回的原因
  2. 如果您仅返回 false,则测试将永远不会通过,您需要一个变量来验证 code
  3. 如果它出现在一个if(无效)中,您将收到该消息,并且valid将为false
<小时/>
private static boolean validateCode(String code) {
if (code.length() != 6) {
return false;
} else {
boolean valid = true;
//First character is always an upper case I or a lower case i
if (code.charAt(0) != 'I' && code.charAt(0) != 'i') {
System.out.println("integer is not an I or i");
valid = false;
}
// Second character is always an upper case T or a lower case t
if (code.charAt(1) != 'T' && code.charAt(1) != 't') {
System.out.println("integer is not a T or t");
valid = false;
}
// Third, fourth, fifth, and sixth characters are always digits (0-9)
if (!Character.isDigit(code.charAt(2))) {
System.out.println("integer 3 is not a number");
valid = false;
}
if (!Character.isDigit(code.charAt(3))) {
System.out.println("integer 4 is not a number");
valid = false;
}
if (!Character.isDigit(code.charAt(4))) {
System.out.println("integer 5 is not a number");
valid = false;
}
if (!Character.isDigit(code.charAt(5))) {
System.out.println("integer 6 is not a number");
valid = false;
}
return valid;
}
}

关于java - 使用 Java 字符和字符串验证用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50273202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com