繁体   English   中英

如何将字符串值传递给Java中的另一个类

[英]How to pass a String value to another class in Java

当前,我的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();
        }
    }

当我打电话给第一堂课时,我试图抓住第二堂课的价值。

免责声明*此类中的字符串并非要伤害任何人。 我和我的中国室友开了个玩笑,谢谢。

似乎您想在调查完成后在主类中获取角色,因此可以在main方法中将其打印出来。

您可以简单地将void survey方法更改为String survey方法,从而允许在调用该方法时返回一个值:

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);
    }
}

这里有几个错误。

首先,在编写主类时,您对CharacterSurvey对象调用了survey()方法,但是调查本身的实现方式需要String参数才能起作用

public void survey(String character)

同样,此方法返回void。 如果您想以某种方式从该方法中获取字符串,则需要将该方法声明为

public String survey() {} 

此方法现在返回一个字符串。

如果我要给出一个大致的想法,请在第二个类中声明一个String变量,该变量将在Survey方法中进行操作,一旦将调查声明为String方法,则在该方法的末尾返回值。

这样,您就可以通过调用characterSurvey对象上的方法来接收String值(当然,也可以将值分配给字符串变量或使用它)。

希望这对您有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM