使用 Java 个字符和字符串验证用户输入
Validate User Input Using Java Chars and Strings
我已经看到这个问题问了 2 次,但我需要的正确回答没有得到解决。
在本次测评中,
您将设计和编写一个 Java 控制台应用程序
验证数据
入口
课程代码(如 IT4782)
和
报告
回来如果
课程代码有效或
不是
有效的。
这
应用
使用 Java 字符
和
要实现的字符串数据类型
验证。
你
能够
采用
任何一个
这
工具线环境
或者你的
当地的
Java
发展
环境
完成这个
作业。
的要求
这个应用程序是
如下:
申请是阅读
课程代码
进入
由用户
来自
键盘。
课程代码
制作
5个字符,应该
跟随
这些
规则:
- 首先
特点
总是
一个
上
案例一
或更低
案例一
- 第二个字符
总是上层
案件
或
较低的
案例 t
- 第三,
第四,
第五,
和第六个字符
总是数字(0-
9)
然后应用程序验证课程代码
高于规则并打印一个
留言
如果
科目编号
已验证
或不。
如果课程代码不是
有效的,
应用程序应该打印
一个消息
解释为什么
课程
代码不是
有效。
输出应如下所示:
这是我的代码,我无法获得生成图片结果的代码。它输出所有无效消息。
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;
}
}
}
- 当您
return false;
之后的代码未执行时,您永远不会明白为什么 returns
- 如果你 return 只有
false
测试永远不会通过,你需要一个变量来验证 code
- 如果它进入一个
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;
}
}
您使用的代码行过多:
这是我的工作:
private static boolean validateCode(String code,String validCode) {
boolean b=true;
if (code.length() != 6) {
return false;
}
for(int i=0;i<code.length();i++){
if(code.toLowerCase().charAt(i)!=validCode.toLowerCase().charAt(i) && i<2){
System.out.println("Character at "+i+" position is not an "+ validCode.charAt(i));
b= false;
}
if(Character.isDigit(code.charAt(i)) && i>2){
System.out.println("Character at "+i+" is not a digit");
b= false;
}
}
return b;
}
我已经看到这个问题问了 2 次,但我需要的正确回答没有得到解决。
在本次测评中, 您将设计和编写一个 Java 控制台应用程序 验证数据 入口 课程代码(如 IT4782) 和 报告 回来如果 课程代码有效或 不是 有效的。 这 应用 使用 Java 字符 和 要实现的字符串数据类型 验证。 你 能够 采用 任何一个 这 工具线环境 或者你的 当地的 Java 发展 环境 完成这个 作业。
的要求 这个应用程序是 如下: 申请是阅读 课程代码 进入 由用户 来自 键盘。 课程代码 制作 5个字符,应该 跟随 这些
规则:
- 首先 特点 总是 一个 上 案例一 或更低 案例一
- 第二个字符 总是上层 案件 或 较低的 案例 t
- 第三, 第四, 第五, 和第六个字符 总是数字(0- 9) 然后应用程序验证课程代码 高于规则并打印一个 留言
如果 科目编号 已验证 或不。 如果课程代码不是 有效的, 应用程序应该打印 一个消息 解释为什么 课程 代码不是 有效。
输出应如下所示:
这是我的代码,我无法获得生成图片结果的代码。它输出所有无效消息。
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;
}
}
}
- 当您
return false;
之后的代码未执行时,您永远不会明白为什么 returns - 如果你 return 只有
false
测试永远不会通过,你需要一个变量来验证code
- 如果它进入一个
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;
}
}
您使用的代码行过多: 这是我的工作:
private static boolean validateCode(String code,String validCode) {
boolean b=true;
if (code.length() != 6) {
return false;
}
for(int i=0;i<code.length();i++){
if(code.toLowerCase().charAt(i)!=validCode.toLowerCase().charAt(i) && i<2){
System.out.println("Character at "+i+" position is not an "+ validCode.charAt(i));
b= false;
}
if(Character.isDigit(code.charAt(i)) && i>2){
System.out.println("Character at "+i+" is not a digit");
b= false;
}
}
return b;
}