2017-10-20 127 views
0

我創建了一個腳本,並將它分爲兩​​個類「Main」和「Switchclass」。 「Switchclass」包含「switch」方法,「Main」類包含主要方法。我想在「main」中調用「switch」方法,當調用「switch」方法時,「switch」將調用變量「userin」(即「main」中的掃描值)。我很難做到這兩者。在java中調用另一個類的函數和變量

這是我目前的代碼,我可以添加什麼;

「主」類與「主」方法;

package Prog; 
import java.util.Scanner; 
public class Main { 
@SuppressWarnings("resource") 
public static void main(String[] args) { 

    String userin = null; 
    for(;;) 
    { 

     Scanner scan = new Scanner (System.in); 
        userin = scan.nextLine(); 
     if(userin == "exit") 
     { 
      System.exit(0); 
     } 
     //I want to call the "switch" method here. 

     } 

    } 
} 

「Switchclass」class with「Switchcase」method;

package Prog; 

public class Switchclass { 

public static void Switchcase() { 
     //After calling this method, i want to assign "userin" variable to 
     "usersw" 
     switch (usersw) 
       { 

       } 
     } 

} 
+0

Switchclass.switchCase() – Flaom

+2

所以你Switchcase方法需要採取String類型命名usersw的說法,主要方法需要調用該方法烏塞林作爲參數:'Switchclass.switchcase(烏塞林)'。您還需要學習尊重Java命名約定,並比較字符串。 Google爲「如何比較Java中的字符串」。 https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html –

+0

除了@JBNizet所說的之外,這些東西都是該語言的基礎。你可以從頭開始(https://docs.oracle.com/javase/tutorial/java/index.html)。 –

回答

0

這是當你需要一個參數

一個你需要一個參數是當你的方法需要的一些信息,它不能獲得自身(在這種情況下,userin)的情況下,所以調用者(main)已經給它所需的信息。

switchcase方法添加一個參數。好像你想叫它usersw

public static void switchcase(String usersw) { 

你可以這樣調用該方法main

Switchclass.switchcase(userin); 

另外請注意,你不應該==比較字符串,使用改爲equals方法。

if (userin.equals("exit")) 
+0

在「Switchcseclass」中,它顯示用戶錯誤w = Main.main(userin);並建議將「主要」方法從無效更改爲字符串,這是不可能的。我能做什麼 –

+0

@Shantanuvidwans你不需要行'usersw = Main.main(userin);'。我從來沒有告訴過你要添加這樣的東西。如我所示,刪除它並添加參數'usersw'。 – Sweeper

相關問題