展开全部
这里要理解+在Java中的使用场62616964757a686964616fe58685e5aeb931333361323563景
1. 若+连接的都是字符串,那么此时+表示字符串的连接
System.out.println("1" + "2"); // 12
2. 若+连接的都是数字(int,long之类的),那么此时+表示数字相加
System.out.println(1 + 2); // 3
3. 若+连接的既有数字又有字符串,那就看哪个在前面
a. 数字在前面,数字会相加直到加到字符串,后面再加就会变成字符串的连接
System.out.println(1 + 2 + "3" + 4); // 334
b. 若字符串在前面,那后面都是字符串连接了(括号除外)
System.out.println("1" + 2 + 3 + 4); // 1234
System.out.println("1" + 2 + (3 + 4)); // 127,这就是括号除外的情况
charAt之后是char类型,这个类型其实就是一个数字...所以你这么加肯定相当于上诉说的第二种情况了
因此要解决的话,可以用第三种情况的b方法就可以了,即System.out.println("" + fName.charAt(0) + mName.charAt(0) + lName.charAt(0));