キーボードから入力された数値文字列を読み取る 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 ループ内で何か問題が発生したと想定していますが、どこで問題が発生したのか正確にはわかりません。
不要な変数を定義しすぎたのではないでしょうか?