我正在尝试创建一个程序,该程序从任何给定的数字输入中读取最长的升序子字符串。
(例如,输入=“43123”输出=“123”)
我已经完成了对循环的编辑,但是程序没有编译,并且在倒数第二个括号中一直提到“丢失的返回语句”。
我试过添加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 n = in.nextLine();
//print solution
System.out.println("output = " + itsAscending(n));
}
public static String itsAscending(String n) {
int length = n.length();
for(int i = 0; i < length; i++) {
char first = n.charAt(i);
char next = n.charAt(i+1);
int f = (int)(first - 48);
int nx = (int)(next - 48);
String asc;
String works = "";
if (f<nx) {
works = works + n.substring(i, i+2);
asc = works.substring(0, works.length()-1);
return asc;
}
else {
works = works + "";
asc = works.substring(i, works.length()-1);
return asc;
}
}
}
}
最佳答案
@Ali Alamiri是正确的,如果n的长度为0,则永远不会进入for循环,因此不会有返回值。 @Ali Alamiri应该会得到答案的学分
https://stackoverflow.com/questions/15466736/
相关文章:
java - Play Framework CompilationException
qt - 无法运行编译qt应用程序。 Qt Creator忽略斜线
variables - 无法编译::I don't understand my errors. Mo
android - NDK错误: “can' t resolve `.data.rel.ro.loc
scala - 斯卡拉(Scala),卡斯巴(Casbah): MongoCollection.in
compiler-errors - 这怎么了? Submit.CommandText = SQL?