在数组后将最后一个元素添加到字符串

时间:2013-09-18 11:23:36

标签: java

我的存储字符串给了我除了最后一个之外所需的所有数字,我知道它因为最后一个数字没有东西可以与右边比较。我可以以某种方式将最后一位数添加到我的字符串末尾,

    for(int i = 0;i < othercontent.length -1 ;i++ )
    {
        if(othercontent[i] != othercontent[i + 1])
        {
            storage = storage + othercontent[i]; 

        }
    }

6 个答案:

答案 0 :(得分:1)

for(int i = 0; i < othercontent.length ;i++ )
{
    if(i == 0 || othercontent[i] != othercontent[i - 1])
    {
        storage = storage + othercontent[i]; 
    }
}

答案 1 :(得分:1)

如果othercontent是String数组:

TreeSet<String> set = new TreeSet<>(Arrays.asList(othercontent));
othercontent = set.toArray(new String[0]);
for (String string : othercontent) {
    System.out.println(string);
}

如果othercontent是String:

String othercontent = "ZZZZQQWEDDODRAABBNNNNO";
LinkedList<Character> list = new LinkedList<>();
for (Character character : othercontent.toCharArray()) {
    list.add(character);
}
TreeSet<Character> set = new TreeSet<>(list);
StringBuilder builder = new StringBuilder();
for (Character character : set) {
    builder.append(character);
}

System.out.println(builder.toString());

不仅排序,而且还使用此代码解决了删除dublicates

输出:

ABDENOQRWZ

答案 2 :(得分:0)

您可以检查是否到达了最后一个元素:

for(int i = 0;i < othercontent.length -1; i++ ) {
    if(othercontent[i] != othercontent[i + 1]) {
        storage = storage + othercontent[i]; 
    }
    //only gets executed if the last iteration is reached
    if(i==othercontent.length-2) {
        storage = storage + othercontent[i+1];
    }
}

或者,不要使用条件,只需在循环后写下:

storage = storage + othercontent[othercontent.length-1];

答案 3 :(得分:0)

您可以在for循环之外的字符串中添加最后一位数字,因为它不需要检查任何条件

 for(int i = 0;i < othercontent.length -1; i++ ) {
    if(othercontent[i] != othercontent[i + 1]) {
        storage = storage + othercontent[i]; 
    }

}

 storage = storage + othercontent[othercontent.length - 1];

答案 4 :(得分:0)

for(int i = 0; i < othercontent.length -1 ; ++i )    {
    if(othercontent[i] != othercontent[i + 1]) {
        storage = storage + othercontent[i];
    }
}
if(othercontent.length>0){
    storage = storage + othercontent[othercontent.length-1];
}

答案 5 :(得分:0)

如果要检查重复项,则应在循环外执行此类操作。

if(othercontent.length>0 && storage[storage.length-1] ! = othercontent[othercontent.length-1])
{
    storage = storage+othercontent[othercontent.length-1];
}