如何将字符串值传递给 Java 中的另一个 class
How to pass a String value to another class in Java
目前,我 运行 在我的 Java 代码中遇到了问题。我对 Java 有点陌生,所以如果您记住这一点,我会很高兴。
我的问题是将字符串值从一个 class 传递到另一个
主要Class:
private static void charSurvey()
{
characterSurvey cSObj = new characterSurvey();
cSObj.survey();
System.out.println();
}
第二个:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class characterSurvey
{
public void survey(String character)
{
Scanner s = new Scanner(System.in);
int smartChina = 0,smartAmerica = 0,dumbAmerica = 0;
String answer;
System.out.println("Are you good with girls?");
System.out.println("y/n?");
answer = s.nextLine();
if(answer.equalsIgnoreCase("y"))
{
smartChina = smartChina - 3;
smartAmerica = smartAmerica + 2;
dumbAmerica = dumbAmerica + 4;
}
//...
//ASKING SEVERAL OF ABOVE ^
List<Integer> charSelect = new ArrayList<Integer>();
charSelect.add(smartChina);
charSelect.add(smartAmerica);
charSelect.add(dumbAmerica);
Collections.sort(charSelect);
Collections.reverse(charSelect);
int outcome = charSelect.get(0);
if(smartChina == outcome)
{
character = "smartChina";
}
else if(smartAmerica == outcome)
{
character = "smartAmerica";
}
else if(dumbAmerica == outcome)
{
character = "dumbAmerica";
}
System.out.println(character);
s.close();
}
}
当我调用第一个 class 时,我试图获取第二个的值。
免责声明* class 中的字符串无意伤害任何人。这是我和我来自中国的室友之间的笑话,谢谢。
这里有几个错误。
首先,在您编写的主要 class 中,您在 CharacterSurvey
对象上调用了方法 survey()
,但调查本身的实现方式需要一个 String 参数来工作
public void survey(String character)
此方法也 return无效。如果你想以某种方式从该方法中获取一个字符串,你需要将该方法声明为
public String survey() {}
此方法return现在是一个字符串。
如果我要给出一个总体思路,请在第二个 class 中声明一个 String
变量,它将在调查方法内部进行操作,一旦调查被声明为 String
方法 return 方法内部最后的值。
通过这样做,您将能够通过调用 characterSurvey
对象上的方法来接收字符串值(当然,将值分配给字符串变量或使用它)。
希望对您有所帮助
好像是想在调查完成后在mainclass中获取字符,所以可以在main方法中打印出来。
您可以简单地将您的 void survey
方法更改为 String survey
方法,从而允许您在调用该方法时 return 一个值:
class CharacterSurvey {
public String takeSurvey() {
//ask questions, score points
String character = null;
if(firstPerson == outcome) {
character = "First Person";
}
return character;
}
}
现在,当您调用此方法时,您可以检索从中返回的值:
class Main {
public static void main(String[] args) {
CharacterSurvey survey = new CharacterSurvey();
String character = survey.takeSurvey();
System.out.println(character);
}
}
目前,我 运行 在我的 Java 代码中遇到了问题。我对 Java 有点陌生,所以如果您记住这一点,我会很高兴。
我的问题是将字符串值从一个 class 传递到另一个
主要Class:
private static void charSurvey()
{
characterSurvey cSObj = new characterSurvey();
cSObj.survey();
System.out.println();
}
第二个:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class characterSurvey
{
public void survey(String character)
{
Scanner s = new Scanner(System.in);
int smartChina = 0,smartAmerica = 0,dumbAmerica = 0;
String answer;
System.out.println("Are you good with girls?");
System.out.println("y/n?");
answer = s.nextLine();
if(answer.equalsIgnoreCase("y"))
{
smartChina = smartChina - 3;
smartAmerica = smartAmerica + 2;
dumbAmerica = dumbAmerica + 4;
}
//...
//ASKING SEVERAL OF ABOVE ^
List<Integer> charSelect = new ArrayList<Integer>();
charSelect.add(smartChina);
charSelect.add(smartAmerica);
charSelect.add(dumbAmerica);
Collections.sort(charSelect);
Collections.reverse(charSelect);
int outcome = charSelect.get(0);
if(smartChina == outcome)
{
character = "smartChina";
}
else if(smartAmerica == outcome)
{
character = "smartAmerica";
}
else if(dumbAmerica == outcome)
{
character = "dumbAmerica";
}
System.out.println(character);
s.close();
}
}
当我调用第一个 class 时,我试图获取第二个的值。
免责声明* class 中的字符串无意伤害任何人。这是我和我来自中国的室友之间的笑话,谢谢。
这里有几个错误。
首先,在您编写的主要 class 中,您在 CharacterSurvey
对象上调用了方法 survey()
,但调查本身的实现方式需要一个 String 参数来工作
public void survey(String character)
此方法也 return无效。如果你想以某种方式从该方法中获取一个字符串,你需要将该方法声明为
public String survey() {}
此方法return现在是一个字符串。
如果我要给出一个总体思路,请在第二个 class 中声明一个 String
变量,它将在调查方法内部进行操作,一旦调查被声明为 String
方法 return 方法内部最后的值。
通过这样做,您将能够通过调用 characterSurvey
对象上的方法来接收字符串值(当然,将值分配给字符串变量或使用它)。
希望对您有所帮助
好像是想在调查完成后在mainclass中获取字符,所以可以在main方法中打印出来。
您可以简单地将您的 void survey
方法更改为 String survey
方法,从而允许您在调用该方法时 return 一个值:
class CharacterSurvey {
public String takeSurvey() {
//ask questions, score points
String character = null;
if(firstPerson == outcome) {
character = "First Person";
}
return character;
}
}
现在,当您调用此方法时,您可以检索从中返回的值:
class Main {
public static void main(String[] args) {
CharacterSurvey survey = new CharacterSurvey();
String character = survey.takeSurvey();
System.out.println(character);
}
}