在java中调用另一个类的函数和变量
我创建了一个脚本,并将它分为两个类“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)
{
}
}
}
这是当你需要一个参数。
一个你需要一个参数是当你的方法需要的一些信息,它不能获得自身(在这种情况下,userin
)的情况下,所以调用者(main
)已经给它所需的信息。
为switchcase
方法添加一个参数。好像你想叫它usersw
:
public static void switchcase(String usersw) {
你可以这样调用该方法main
:
Switchclass.switchcase(userin);
另外请注意,你不应该==
比较字符串,使用改为equals
方法。
if (userin.equals("exit"))
在“Switchcseclass”中,它显示用户错误w = Main.main(userin);并建议将“主要”方法从无效更改为字符串,这是不可能的。我能做什么 –
@Shantanuvidwans你不需要行'usersw = Main.main(userin);'。我从来没有告诉过你要添加这样的东西。如我所示,删除它并添加参数'usersw'。 – Sweeper
Switchclass.switchCase() – Flaom
所以你Switchcase方法需要采取String类型命名usersw的说法,主要方法需要调用该方法乌塞林作为参数:'Switchclass.switchcase(乌塞林)'。您还需要学习尊重Java命名约定,并比较字符串。 Google为“如何比较Java中的字符串”。 https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html –
除了@JBNizet所说的之外,这些东西都是该语言的基础。你可以从头开始(https://docs.oracle.com/javase/tutorial/java/index.html)。 –