一次减去一个字符

时间:2015-11-02 04:05:55

标签: java

我正在尝试使用以下代码一次删除最后一个字符,直到最后一个... 输出: 将 会 无线 w ^

 * @author Will
 */
    import java.util.Scanner;

public class DecreaseLetters {

public static void main(String args[]){

    Scanner s=new Scanner(System.in);

    System.out.println("Anota una Frase: ");
    String input=s.nextLine();
    return str.substring(0,str.length()-1);
    System.out.println(input);
}
}

3 个答案:

答案 0 :(得分:1)

Java String是不可变的。您可以使用StringBuilder之类的

Scanner s = new Scanner(System.in);
System.out.println("Anota una Frase: ");
String input = s.nextLine();
StringBuilder sb = new StringBuilder(input);
while (sb.length() > 0) {
    System.out.print(sb);
    System.out.print(" ");
    sb.setLength(sb.length() - 1);
}
System.out.println();

,您可以在循环中生成子串,如

for (int i = 0; i < input.length(); i++) {
    System.out.print(input.substring(0, input.length() - i));
    System.out.print(" ");
}
System.out.println();

答案 1 :(得分:1)

也许这个?

isNotEmpty

反向:

    import java.util.Scanner;

public class DecreaseLetters {

public static void main(String args[]){

Scanner s=new Scanner(System.in);

System.out.println("Anota una Frase: ");
String str=s.nextLine();
while(str.length()>1) {
    str =  str.substring(0,str.length()-1);     
    System.out.println(str.substring(0,str.length()-1));
     }

   }
}

答案 2 :(得分:0)

一种方法是使用for循环和String类的substring()函数:

public static void main (String[] args) throws java.lang.Exception
{
    System.out.println("Anota una Frase: ");
    String text = new Scanner(System.in).nextLine();

    for (int i = 0; i < text.length(); i++)
        System.out.println(text.substring(0, text.length()-i));
}