优化这段代码import java.util.Scanner; public class KEY { public static void ISNOT(String name) { if(name.contains("!")|name.contains("@")|name.contains("#")|name.length()>=8|name.contains("!")){ System.out.println("注册失败!请重启程序!!!"); }else{ System.out.println("注册成功!!!您的用户名是"+name); } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("你好 ,用户 ,想要注册一个账号吗?"); System.out.println("请输入用户名:(不超过8个字符,不含有 ! @ # 字符):"); String name=sc.next(); ISNOT(name); } }
时间: 2023-04-08 07:00:27 浏览: 66
Einleser:java.util.Scanner 的示例
这段代码可以进行如下优化:
1. 将方法名改为更具有描述性的名称,例如:checkSpecialCharacters。
2. 将方法参数类型改为更通用的类型,例如:String[]。
3. 使用循环结构遍历字符串数组,避免重复的代码。
4. 将特殊字符存储在一个数组中,避免多次调用contains方法。
优化后的代码如下:
import java.util.Scanner;
public class KEY {
public static void checkSpecialCharacters(String[] names) {
String[] specialCharacters = {"!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "-", "_", "=", "+", "[", "]", "{", "}", ";", ":", "'", "\"", ",", ".", "<", ">", "/", "?"};
for (String name : names) {
for (String specialCharacter : specialCharacters) {
if (name.contains(specialCharacter)) {
System.out.println(name + "包含特殊字符:" + specialCharacter);
break;
}
}
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一些字符串,用空格分隔:");
String input = scanner.nextLine();
String[] names = input.split(" ");
checkSpecialCharacters(names);
}
}
阅读全文