我是 Java 新手,我一直在尝试将这个术语(字母和数字)数组列表转换为字符串(除非它的 1
,在这种情况下程序应该忽略元素)。
这是完成此任务的正确方法还是我应该使用不同的方法?
我的代码如下:
public String display() {
for (int i = 0; i < terms.size(); i++) {
char p = terms.get(i);
if(Character.isDigit(p = 1)) {
continue;
} else if (Character.isDigit(p)) {
return String.valueOf(p);
} else {
return Character.toString(p);
}
}
p = display();
return display();
}
注意:我知道这是错误的 - 我只是需要有人为我指明正确的方向。
输入示例: {Term('C', 1),Term('O',2)} 会给出“CO2”
最佳答案
假设您的术语是一些自定义类,如下所示(基于您提到的示例输入):
public class Term{
private String element;
private int number;
public String getElement(){
return element;
}
public void setElement(char element){
this.element = element;
}
public int getNumber(){
return number;
}
public void setNumber(int number){
this.number = number;
}
}
您的串联方法可以是这样的:
public String display() {
StringBuilder sb = new StringBuilder(50);
for (int i = 0; i < terms.size(); i++) {
Term p = terms.get(i);
sb.append(p.getElement());
if(p.getNumber()!=1) {
sb.append(p.getNumber());
}
}
return sb.toString();
}
关于java - 将数组列表的内容转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36541629/