指定された数値入力から最長の昇順の部分文字列を見つけるプログラムを作成しようとしています。
(例: 入力 = "1215678" 出力 = "5678")
ループの一番下の return が機能していません: 一番下の return に asc の変数が見つからないと言われています....何が問題なのですか?
import java.util.Scanner;
public class Ascending
{
public static void main(String[] args)
{
System.out.print("Enter a number = ");
//scan the input
Scanner in = new Scanner(System.in);
String k = in.nextLine();
}
public static String itsAscending(String n)
{
int length = k.length();
for(int i = 0; i < length; i++)
{
char first = k.charAt(i);
char next = k.charAt(i+1);
int f = (int)(first - 48);
int nx = (int)(next - 48);
String asc;
String works = "";
if (f<nx)
{
works = works + k.substring(i, i+2);
asc = works.substring(0, works.length()-1);
}
else
{
works = works + "";
asc = works.substring(i, works.length()-1);
}
}
return asc;
}
}