想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。
我目前正在用java编写一个程序,它接受一个人的名字和姓氏,并将其转换为大写首字母。当输入数字或根本没有输入时,程序也应该打印错误。这是我的代码:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
// Get strings from user
Scanner input = new Scanner(System.in);
System.out.print("First name: ");
String first = input.next();
first = first.toUpperCase();
System.out.print("Last name: ");
String last = input.next();
last = last.toUpperCase().substring(0, 1);
if (Character.isLetter(first) == '9' || Character.isletter(last) == '1')
{
System.out.println("Error");
}
// Displays the initials.
System.out.println("Your initials are " + first.charAt(0) + last);
}
}
我期望程序拒绝数值和无效值,例如不输入任何内容,但它不起作用。
您的代码有几个问题,您拼错了isletter
,正如Rob所提到的,isletter
返回一个布尔值而不是字符,并接受一个字符而不是字符串。
您也没有验证完整的姓氏,只有第一个字符。类似这样的东西可能更接近您正在寻找的东西:
public static void main(String[] args) {
// Get strings from user
Scanner input = new Scanner(System.in);
System.out.print("First name: ");
String first = input.next();
if (!isValidName(first)) {
System.err.printf("Invalid fist name %s%n", first);
return;
}
System.out.print("Last name: ");
String last = input.next();
if (!isValidName(last)) {
System.err.printf("Invalid last name %s%n", first);
return;
}
// Displays the initials.
System.out.printf("Your initials are %s.%s.%n", first.toUpperCase().charAt(0), last.toUpperCase().charAt(0));
}
private static boolean isValidName(String name) {
if (name.isEmpty()) {
return false;
}
for (char c: name.toCharArray()) {
if (!Character.isLetter(c)) {
return false;
}
}
return true;
}
```
我试图做一个java程序,但我有一个问题与输出。
我有一个问题编译以下漏洞代码: http://downloads.securityfocus.com/vulnerabilities/exploits/59846-1.c 我使用的是"gcc file. c"和"gcc-O2 file. c",但是这两个文件都会导致以下错误: 我试着在Kali Linux和Ubuntu上编译它们
我写这个软件的一个项目作业,但我有麻烦与混合线程和tkinter。下面的部分基本上和预期的一样工作,但是当我关闭它(在Python shell中启动它之后)时,窗口显示一个错误:“Python停止工作”。 我怎样才能解决这个问题?是不是我现在使用的设计造成的?我应该改变它吗? 编辑1:当我删除在中声明,并且只使用引用问题已经解决,但是我需要有对GUI对象的引用,首先要构建GUI,还要从GUI对象获
错误: log4j:WARN找不到记录器(org.hibernate.cfg.annotations.Version)的appender。log4j:警告请正确初始化log4j系统。线程“main”组织中出现异常。冬眠例外GenericJDBCException:无法在组织上打开连接。冬眠例外SQLStateConverter。在org上处理非特定异常(sqlstatecoverter.java:
我收到这条信息: 19-October-24 08:05:53:481信息线程-4 O.M.D.connection:71-关闭到MongoDB:27017的连接[ConnectionID{LocalValue:35,ServerValue:38}],因为池已关闭。 java.lang.IllegalStateException:状态应为:open at com.mongodb.assertion