import java.util.*;
class Test{
private int intToken;
public Test(){
intToken = 0;
}
// A method that returns the last character of a String
// This here returns a string regardless of input
public String lastChar(String tok){
String token = String.valueOf(tok);
String strToken = token.substring(token.length()-1);
return strToken;
}
public static void main(String[]args){
Test test = new Test();
Scanner scan = new Scanner(System.in);
System.out.println("Enter a number to get its last number");
String value = scan.nextLine();
System.out.println(test.lastChar(value));
}
}
lastChar()
方法上面的代码适用于 Integer
和 String。由于我正在练习编程,所以我真的很想创建一个返回 String
或 Integer
的方法,但在该方法中我想检测输入是否为 Integer
或 String
。
在创建方法之后,我首先尝试了
Scanner scan = new Scanner(tok);
scan.hasNextInt();
返回 false
即使 tok
中有 int
。
我也试过
tok.contains("0,1,2,3,4,5,6,7,8,9");
即使 tok
中有 int
,它也会返回 false
。我还没有研究 char
类型。但我注意到 tok.contains("1");
返回了 true
。
我想使用 boolean
结果为 String
和 Integer
创建单独的处理程序。那么代码到目前为止有效。
现在我的问题是使用像
lastChar()
,或者我应该定义两个单独的方法 lastInt()
和 lastStr()
最佳答案
我想知道一个String的值是不是整数(比如"1234"),可以尝试转换String:如果有异常String的值不是整数:
try{
Integer.parseInt(tok);
return true;
} catch(NumberFormatException ex) {
return false;
}
关于java - 这是一种安全的编程实践吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31342448/