对于一项学校作业,我必须将字符串截断为某个字符。它以电子邮件作为输入,例如:name@mail.ca,并且必须在@符号之前打印所有内容。我们不允许使用子字符串,索引或拆分。我已经附上了到目前为止我尝试过的内容。
public static void main(String[] args) {
getPrefix("name@email.ca");
}
public static String getPrefix(String email) {
String prefix = "";
for (int i = 0; i < email.length(); i++) {
if (email.charAt(i) == '@') {
break;
}
prefix += email.charAt(i);
}
return prefix;
}
如果我将输入设置为name@email.ca,它将打印:ame @ email.caame @ email.caame @ email.caame @ email.ca
所以现在它只是带走第一个字符,而我需要它从@以后带走所有东西。
而且,我必须返回值而不是仅仅打印它,所以我将如何在循环外执行该操作。
答案 0 :(得分:2)
使用StringBuilder
在@
之前附加字符串的每个字符,如果不能使用StringBuilder
,则可以使用String
,但是我不建议使用字符串为此
public static String getPrefix(String email) {
StringBuilder builder = new StringBuilder(); // or String str = "";
for (int i = 0; i < email.length(); i++) {
if (email.charAt(i) == '@') {
break;
}
builder.append(email.charAt(i)); //or str+=email.charAt(i);
}
return builder.toString(); //or return str;
}