2017-10-20 1012 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

相关问题