我在一個需要將值從主類傳遞給其他類的項目。所有課程都具有主要功能時正確工作。但是,我的項目應該只有一個主類在其他類中調用其他函數。將主類中的值傳遞給Java中的其他類
主要和另一個類的示例如下。我想通過主類掃描輸入並將其傳遞給解析類。當前實現給出了兩個錯誤,分別是:
Exception in thread "main" java.lang.NullPointerException
at url.checker.Parse.GetInput(Parse.java:16)
at url.checker.Main.main(Main.java:14)
Java Result: 1
給定的輸入:-url = google.com, - 時間= 5,-email = asdfg @ hotmail.com
Main.java:
package url.checker;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Enter the parameters as '-url=' , '-time=' , '-email='.");
Parse.s = in.nextLine();
Parse.GetInput(Parse.s);
}
}
Parse.java:
package url.checker;
import java.util.Scanner;
public class Parse
{
static String s;
static String result[];
public static void GetInput(String s)
{
int i;
for(i=0;i<3;i++)
{
if (s.startsWith("-url="))
result[0] = s.substring(5, s.length());
else if (s.startsWith("-time="))
result[1] = s.substring(6, s.length());
else if (s.startsWith("-email="))
result[2] = s.substring(7, s.length());
else
System.out.println("You didn't give any input.");
}
}
}
非常感謝您的幫助。
請!格式化您的代碼! – MrSmith42
你可以改變'Parse.s = in.nextLine(); Parse.GetInput(Parse.s);'''Parse.GetInput(in.nextLine());'如果你想刪除一個冗餘步驟。還有更好的方法來做你想做的事情,即使你的方式在更改代碼時也能正常工作,就像答案中所解釋的那樣。提示,創建一個'Parse'對象並使用它來代替靜態的一切。 – Qben
在java中(以及在編程中)沒有這樣的東西。這是一個調試我的代碼,對遺產沒用。說它是唯一可以調用其他方法的類也是無稽之談。誰分配給你這些任務? – Val