【问题标题】:calling a fuction and variables from another class in java从java中的另一个类调用函数和变量
【发布时间】:2018-04-01 06:26:28
【问题描述】:

我创建了一个脚本并将其分为“Main”和“Switchclass”两个类。 “Switchclass”包含“switch”方法,“Main”类包含 main 方法。我想在“main”中调用“switch”方法,当调用“switch”方法时,“switch”将调用一个变量“userin”(即“main”中的扫描值)。我很难做到这两点。

这是我目前的代码,我可以添加什么;

带有“main”方法的“Main”类;

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.

        }

    }
}

带有“Switchcase”方法的“switchclass”类;

package Prog;

public class Switchclass {

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

               }
       }

}

【问题讨论】:

  • Switchclass.switchCase()
  • 所以你的 Switchcase 方法需要接受一个名为 userw 的 String 类型的参数,而 main 方法需要调用带有 userin 作为参数的方法:Switchclass.switchcase(userin)。您还需要学习尊重 Java 命名约定以及比较字符串。谷歌“如何比较 Java 中的字符串”。 docs.oracle.com/javase/tutorial/java/javaOO/methods.html
  • 除了@JBNizet 所说的,这些都是语言的基础。你可以开始right from the beginning

标签: java string function class methods


【解决方案1】:

这时你需要一个参数

您需要参数的一种情况是,当您的方法需要一些它自己无法获得的信息时(在这种情况下,userin),因此调用者(main)必须给它所需信息。

switchcase 方法添加一个参数。看来你想叫它usersw

public static void switchcase(String usersw) {

你可以在main这样调用方法:

Switchclass.switchcase(userin);

另外,请注意不要将字符串与== 进行比较,而应使用equals 方法。

if (userin.equals("exit"))

【讨论】:

  • 在“Switchcseclass”中显示错误 userw = Main.main(userin);并建议将“main”方法从 void 更改为 string,这是不可能的。我能做什么
  • @Shantanuvidwans 你不需要usersw = Main.main(userin);这一行。我从来没有告诉过你添加这样的东西。删除它并添加参数usersw,如我所示。
猜你喜欢
  • 1970-01-01
  • 2023-04-04
  • 2018-09-28
  • 2018-04-29
  • 1970-01-01
  • 1970-01-01
  • 2014-12-29
  • 2018-11-21
相关资源
最近更新 更多