我想創建一個程序,它會從給定的數字輸入中找到最長的遞增子字符串。Java返回循環
(如輸入=「1215678」輸出=「5678」)。
在循環底部的回報是不工作:它說,它無法找到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;
}
}
我將其移動到INT長度= k.length下更好( );然而我得到這個消息:變量增加可能沒有被初始化 – user2181267 2013-03-18 08:00:59
定義它像:'String asc = null;' – Habib 2013-03-18 08:01:44
那麼你應該初始化它爲「」;) – Breavyn 2013-03-18 08:01:59