Мне было интересно, как получить последний символ, удаленный из строки, используя цикл for. Я хочу построить слово char на char, а затем удалить символы, char по char Ниже мой код. Я был бы очень признателен за вашу помощь
import java.util.*;//imports the utilities
public class WordPyramid {
public static void main(String[] args) {
System.out.println("Enter a word: ");//Prompt for input
Scanner kb= new Scanner (System.in);
String word=kb.nextLine();
String staggered ="";
for (int x =0;x<word.length();x++){//repeats the word
staggered += word.charAt(x);
System.out.println(staggered);
for(int i=0;i>=word.length();i++){
word = word.substring(0, word.length() - 1);
System.out.println(word);
}
}
}
}
благодаря
удалите внутренний цикл for и напишите следующую логику после цикла for
for(int i = word.length(); i >0 ; i--){
word = word.substring(0, word.length() - 1);
System.out.println(word);
}
Вот общая программа
import java.util.*;//imports the utilities
public class WordPyramid {
public static void main(String[] args) {
System.out.println("Enter a word: ");//Prompt for input
Scanner kb= new Scanner (System.in);
String word=kb.nextLine();
String staggered ="";
for (int x =0;x<word.length();x++){//repeats the word
staggered += word.charAt(x);
System.out.println(staggered);
}
// remove the chars, char
for(int i = word.length(); i >0 ; i--){
word = word.substring(0, word.length() - 1);
System.out.println(word);
}
}
}
Для работы с String я предлагаю использовать класс StringBuilder
который имеет методы для добавления, удаления и т.д. В String.
Вот так:
public static void main(String[] args) {
System.out.println("Enter a word: ");
Scanner scanner = new Scanner (System.in);
String word = scanner.nextLine();
String staggered ="";
// build the word char by char
for (int x =0;x<word.length();x++){//repeats the word
staggered += word.charAt(x);
System.out.println(staggered);
}
// remove the chars, char
for(int i = 0; i <= word.length(); i++){
word = word.substring(0, word.length() - 1);
System.out.println(word);
}
}
При вводе: test
Вывод:
Enter a word:
test
t
te
tes
test
tes
te
t
На внутреннем переключателе цикла
i>=word.length()
должно быть
i<word.length()
я всегда будет меньше слова, если слово не равно 0.
substring
?