gpt4 book ai didi

java - 将变量简单传递给新类,然后用 Java 输出

转载 作者:搜寻专家 更新时间:2023-11-01 02:03:45 26 4
gpt4 key购买 nike

我已经看到以多种方式提出这个问题,但代码通常是特定于用户的,我有点不知所措。如果我错过了一个很好的清晰和简单的解释,我很抱歉!我只需要理解这个概念,而我已经迷失在我所看到的重复中。因此,我尽可能地简化了我自己的问题,以找到问题的根源。

目标是有一个我要求变量的主类,然后让那些用户输入的变量通过单独类中的方法进行评估,并根据变量是什么返回消息。

    import java.io.*;


public class MainClass {

public static void main(String[] args) {

InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);

String A;
String B;

try {

System.out.println("Is A present?");
A = reader.readLine();

System.out.println("Is B present?");
B = reader.readLine();

Assess test = new Assess();

} catch (IOException e){
System.out.println("Error reading from user");
}
}
}

我尝试使用的方法是:

public class Assess extends MainClass {

public static void main(String[] args) {

String A = MainClass.A;
String B = MainClass.B;

if ((A.compareToIgnoreCase("yes")==0) &&
((B.compareToIgnoreCase("yes")==0) | (B.compareToIgnoreCase("maybe")==0)))
{
System.out.println("Success!");
}

else {
System.out.println ("Failure");
}
}


}

我知道我没有正确地请求输出,但我什至无法到达那里并弄清楚我到底在做什么,直到我得到要编译的东西,我不能这样做直到我弄清楚如何在类之间正确传递值。我知道有一些奇特的方法可以做到这一点,例如使用数组。我正在寻找从一个类内部输入的变量发送到另一个类的概念上最简单的方法;我需要了解这里的基本概念,我知道这是 super 基本的,但我只是愚蠢,阅读可能重复的问题并没有帮助。

如果变量是静态的并且在开始时全局声明,我知道该怎么做,但不知道如何从子类内部发送它(我知道不可能直接从子类发送......对吧?我必须以某种方式设置它,然后将该设置值拉入另一个类)。

最佳答案

In order to pass variables to an object you have either two options

例如在您的主类中:

Assess assess = new Assess(A, B);

或者:

Assess assess = new Assess();
assess.setA(A);
assess.setB(B);

在你的 Assess 类中你必须添加一个构造方法

public Assess(String A, String B)

或者setter方法

public void setA(String A)
public void setB(String B)

此外,Assess类不应该扩展主类并包含静态main方法,它与主类无关。

Below there is a code example!

评估.java

public class Assess {

private a;
private b;

public Assess(String a, String b) {
this.a = a;
this.b = b;
}

public boolean check() {
if ((A.compareToIgnoreCase("yes")==0) &&
((B.compareToIgnoreCase("yes")==0) ||
(B.compareToIgnoreCase("maybe")==0)))
{
System.out.println("Success!");
return true;
} else {
System.out.println ("Failure");
return false;
}

主类.java

public class MainClass {

public static void main(String[] args) {

InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);

String A;
String B;

try {

System.out.println("Is A present?");
A = reader.readLine();

System.out.println("Is B present?");
B = reader.readLine();

Assess test = new Assess(A, B);

boolean isBothPresent = test.check();
// ................

} catch (IOException e){
System.out.println("Error reading from user");
}
}

关于java - 将变量简单传递给新类,然后用 Java 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39860551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com