我想寫一個代碼塊,我在一個數字中找到並找到該數字中最大的數字。 (例如,12345將是5並且791將是9)。但是,當我在main()中放入我的掃描器方法時,我得到一個錯誤java.lang.NumberFormatException
並且不知道該怎麼做。Java最大數字(java.lang.NumberFormatException)
import java.util.Scanner;
public class Step2 {
private static int greatestnum = 0;
private static int length = 0;
private static int step = 0;
public static void main(String[] args){
Scanner r = new Scanner(args[0]);
String s = r.next();
int t = Integer.parseInt(s);
System.out.println(maxDigit(t));
}
public static int maxDigit(int num){
num = Math.abs(num);
String stringint = String.valueOf(num);
length = stringint.length();
String[] ary = stringint.split("");
while (step < length){
int currentnum = Integer.parseInt(ary[step]);
if(currentnum >= greatestnum){
greatestnum = currentnum;
}
step++;
}
return greatestnum;
}
}
我真的可以使用一些幫助,我必須遞歸地做同樣的事情,不知道我做錯了什麼。
不,我仍然得到同樣的錯誤方法 – user3483844 2014-09-26 18:19:08
什麼是S的值?你可以做System.out。println(「s is:」+ s); – StackFlowed 2014-09-26 18:20:31
所以,我在eclipse上運行這個,我在這個類的run-as屬性下進行,並將參數放在參數部分「12345」下面,這樣我的掃描器就會把這個值放到s中,然後將s到存儲在t中的整數12345,然後取t並插入到maxDigit並打印出來。 – user3483844 2014-09-26 18:21:49