Как удалить последний символ из строки

1

Мне было интересно, как получить последний символ, удаленный из строки, используя цикл 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);

            }
        }

    }
}

благодаря

  • 0
    Какие у вас проблемы с вашим кодом?
  • 0
    Почему не substring ?
Показать ещё 1 комментарий
Теги:
string
for-loop
char

5 ответов

1

удалите внутренний цикл for и напишите следующую логику после цикла for

for(int i = word.length(); i >0 ; i--){
word = word.substring(0, word.length() - 1);
System.out.println(word);
}
0

Вот общая программа

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);
        }
    }
}
0

Для работы с String я предлагаю использовать класс StringBuilder который имеет методы для добавления, удаления и т.д. В String.

  • 1
    Я бы не сказал, что это ответ.
0

Вот так:

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
0

На внутреннем переключателе цикла

 i>=word.length()

должно быть

 i<word.length()

я всегда будет меньше слова, если слово не равно 0.

  • 0
    Нет проблем, случается с лучшими из нас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню