我将如何修改我的代码以从头开始删除字符?
How would I modify my code to delete chars from the beginning?
因此,与其从最后一个索引开始,我希望它做相反的事情,它会开始删除字符串的开头(第一个索引)。
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 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;
}
}
如果您在所需的输出中输入错误,上面的代码应该可以工作
德
丁
应该
德
E
免责声明:
与此处发布的其他解决方案相比,我不会使用此解决方案,但它需要更多 drawn-out 方法来突出显示正在发生的事情。
这是您的答案代码。这应该适合你。
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 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 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;
}
}
如果您在所需的输出中输入错误,上面的代码应该可以工作 德 丁 应该 德 E
免责声明:
与此处发布的其他解决方案相比,我不会使用此解决方案,但它需要更多 drawn-out 方法来突出显示正在发生的事情。
这是您的答案代码。这应该适合你。
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()));
}
}