我正在尝试创建一个 Java 程序来读取从键盘输入的数字字符串,
并给出最长的升序子串。
以下是我的代码:
import java.util.Scanner;
public class Ascending{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
System.out.print("Enter a number = ");
String n = in.nextLine();
int length = n.length();
for(int i = 0; i < length; i++) {
char first = n.charAt(i);
char next = n.charAt(i+1);
char last = n.charAt(length-1);
int f = (int)(first - 48);
int nx = (int)(next - 48);
int l = (int)(last - 48);
if (f<nx) {
String asc = n.substring(i, i++);
i++;
System.out.println("output = " + asc);
}
else {
String asc = n.substring(i, i++);
System.out.println("output = " + asc);
break;}
}
}
}
当我编译上述内容时,我得到
<Enter a number = 12 output = >
没有任何结果。
我假设 for 循环内部出了点问题,但我无法弄清楚我到底哪里出错了。
恐怕我定义了太多不必要的变量?