这是作业的要旨:http://prntscr.com/lwbb1x
因此,我较早前就弄清了分配中EmployeeNames部分的工作方式,或者至少我认为是这样做的。这是EmployeeNames代码:
public static String[] convertName(String[] names) {
for (int i=0; i<10; i++) {
names[i] = names[i].substring(names[i].length() - 2, names[i].length());
}
return names;
但是我基本上只是停留在Tester代码上。我知道我想要什么,但没有用。谁能帮我吗?我已经为此抓了几个小时了。
public static void main(String args[]) {
/*Scanner scan = new Scanner(System.in);
System.out.println("Enter 10 last names.");
String input = scan.nextLine();
*/ (Ignore this, I wanted to try doing inputs, but couldn't even figure out how to work with them properly so I typed up sample last names for this.)
String[] lastName = {"Jones", "Roberts", "Lee", "Chang", "Patel", "Park", "Anderson", "Liu", "Smith", "Lopez"};
System.out.println(convertName(lastName));
}
我希望看到对代码或伪代码结构的修改,因为它可以帮助我最好地实现错误,但是任何帮助都是至关重要的!预先谢谢你。
答案 0 :(得分:1)
您在问题上犯了一些逻辑错误。
public static String[] convertName(String[] names) {
String newNames[]=new String[names.length];
for (int i=0; i<names.length; i++) {
newNames[i] = names[i].substring(names[i].length() - 2, names[i].length());
}
return newNames;
}
在上述方法中,我只是创建新数组并返回具有修改后值的新数组。
在Main方法中,使用以下代码-
public static void main(String[] args) {
String[] lastName = {"Jones", "Roberts", "Lee", "Chang", "Patel", "Park", "Anderson", "Liu", "Smith", "Lopez"};
String [] result= convertName(lastName);
for(int i=0;i<result.length;i++){
String lastNames=result[i];
if(lastNames !=null){
System.out.println(lastNames.toUpperCase().charAt(1)+"."+lastNames.toUpperCase().charAt(0)+". "+lastName[i]);
}
}
}
希望这会对您有所帮助!!
答案 1 :(得分:0)
您犯了一些小错误,这是您要求的工作代码-
QA*
输出:
琼斯(S.e. Jones)
罗伯茨
e.e.Lee
g.n.Chang
l.e.Patel
k.r.Park
n.o.安德森
刘
史密斯
z.e.Lopez
希望这会有所帮助!