好的,所以这是我第一次在这里发帖,所以请耐心等待.
我有一个格式的名称,"Smith, Bob I"我需要切换这个字符串来阅读"Bob I. Smith".关于如何做到这一点的任何想法?
这是我尝试过的一种方式,虽然它确实完成了工作,但它看起来很邋..
public static void main(String[] args) {
String s = "Smith, Bob I.", r = "";
String[] names;
for(int i =0; i < s.length(); i++){
if(s.indexOf(',') != -1){
if(s.charAt(i) != ',')
r += s.charAt(i);
}
}
names = r.split(" ");
for(int i = 0; i < names.length; i++){
}
System.out.println(names[1] +" " + names[2] + " " + names[0]);
}
Run Code Online (Sandbox Code Playgroud) 坦率地说,我只是不明白我的导师要求我在这里做什么.我尝试过使用"try-catch"块,并在方法签名中抛出Exception.我读过关于已检查和未检查的异常.我相信这会被投票或关闭,但有人可以在这里扔我一块骨头吗?我的导师说明如下:
"纠正它,以便编译."
class Exception3{
public static void main(String[] args){
if (Integer.parseInt(args[0]) == 0)
throw new Exception("Invalid Command Line Argument");
}
}
Run Code Online (Sandbox Code Playgroud)
很明显,它正在抛出RuntimeException.更具体地说,是一个ArrayIndexOutOfBoundsException.我知道异常的原因是因为数组是空的,所以引用的索引不存在.我的意思是,在技术上我可以抹去if(Integer.parseInt(args[0]) == 0),并throw new Exception("Invalid Command Line Argument");与更换System.out.println("It compiles now");
有任何想法吗?