我正在尝试使用以下代码一次删除最后一个字符,直到最后一个... 输出: 将 会 无线 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);
}
}
答案 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));
}