目前,我在Java代码中遇到了问题。我对Java有些新意,所以如果你记住这一点,我会很喜欢它。
我的问题是将String值从一个类传递给另一个类。
主类:
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();
}
}
当我打电话给第一堂课时,我试图抓住第二堂课的价值。
免责声明*本课程中的字符串并不意味着伤害任何人。这是我和我的室友来自中国的一个笑话,谢谢。
答案 0 :(得分:2)
在调查完成后,您似乎想要获得主班中的角色,因此可以在主要方法中打印出来。
您只需将void survey
方法更改为String survey
方法,即可在调用该方法时return {/ 3}}:
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);
}
}
答案 1 :(得分:1)
这里有几个错误。
首先,在您编写的主类中,在survey()
对象上调用方法CharacterSurvey
,但调查本身的实现方式需要String参数才能工作
public void survey(String character)
此方法也返回void。如果你想以某种方式从该方法中获取一个字符串,你需要将该方法声明为
public String survey() {}
此方法现在返回一个字符串。
如果我要提出一般性的想法,请在第二个类中声明一个String
变量,该变量将在调查方法中进行操作,一旦调查被声明为String
方法,则返回值为方法内的结束。
通过执行此操作,您将能够通过调用characterSurvey
对象上的方法来接收String值(当然,将值分配给字符串变量或使用它)。
希望这有帮助