我如何修改我的代码从开始删除字符?



因此,我希望它不是从最后一个索引开始,而是相反,它将开始删除字符串的开头(第一个索引)。

public class Sample 
{ 
public static void main(String[] args) 
{        
char y[] = {'L','E','M','O','N','A','D','E'};
int x = y.length;      
for (int z = 0; z < len; z++)
{           
for(int w = 0; w < len - z; w++)
{          
System.out.print(word[w]);             
}        
}       
}   
}

所以这段代码的输出是:

LEMONADE
LEMONAD
LEMONA
LEMON
LEMO
LEM
LE
L

这次我想要的正好相反,它将从起始索引

开始的例子:

LEMONADE
EMONADE
MONADE
ONADE
NADE
ADE
DE
D

请帮我处理一下我提供的代码

下面是您的答案的代码。

public class MyClass {
public static void main(String[] args) { 
char y[] = {'L','E','M','O','N','A','D','E'};
int len = y.length;
for (int z = 0; z < len; z++){
for(int w = z; w < len; w++){
System.out.print(y[w]);
}
System.out.println();
}   
}
}
char y[] = {'L', 'E', 'M', 'O', 'N', 'A', 'D', 'E'};
String lemonade = String.valueOf(y);
for (int i = 0; i < lemonade.length(); i++) {
if (i + 1 == lemonade.length()) {
System.out.println(lemonade.substring(i - 1, lemonade.length() - 1));
} else {
System.out.println(lemonade.substring(i, lemonade.length()));
}
}
public class Driver {
public static void main(String[] args) {
char y[] = {'L', 'E', 'M', 'O', 'N', 'A', 'D', 'E'};
for (int i = 0; i < y.length; i++) {
StringBuilder word = new StringBuilder();
for (char c:
getCharactersFromIndexAndBeyond(y, i)) {
word.append(c);
}
System.out.println(word.toString());
}
}
static char[] getCharactersFromIndexAndBeyond(final char[] inputArray, final int indexToStartAfter){
char[] outputArray = new char[inputArray.length - indexToStartAfter];
int count = 0;
for(int i = indexToStartAfter; i < inputArray.length; i++){
outputArray[count] = inputArray[i];
count++;
}
return outputArray;
}
}

如果您在期望的输出中犯了一个错字,那么上面的代码应该可以工作德D应该是德E免责声明:

我不会使用这个解决方案与其他张贴在这里,但它采取了一个更长的方法来突出正在发生的事情。

最新更新