当前位置: 首页 > 知识库问答 >
问题:

如何在另一个类的函数中访问一个类的变量?

红弘盛
2023-03-14

我有一个类Main(它具有公共静态void Main(String[]args))和另一个类MyDocument。

Main类中存在一个变量text,我想从MyDocument类中的函数alphabetOccurrence()访问该变量。我该怎么做呢?我不想用它作为静态变量。任何修改只能在函数中进行,其余的代码应该保持不变。

import java.util.*;

class Main {
    public static void main(String[] args) {
        MyDocument document = null;
        String text;
        text = "good morning. Good morning Alexander. How many people are there in your country? Do all of them have big houses, big cars? Do all of them eat good food?";
        char letter = 'd';
        document = new MyDocument();
        document.setDocumentText(text);
        System.out.println("Letter " + letter + " has occured "
                + document.alphabetOccurrence(letter) + " times");
    }
}

class MyDocument {
    private ArrayList<Character> document = new ArrayList();

    public MyDocument() {
    }

    void setDocumentText(String s) {
        for (int i = 0; i < s.length(); i++)
            document.add(s.charAt(i));
    }

    ArrayList getDocumentText() {
        return this.document;
    }

    public int alphabetOccurrence(char letter) {
        // use text variable here..
    }
}

共有2个答案

云镜
2023-03-14

可以将变量文本作为参数传递到函数

public int alphabetOccurrence(char letter, String text){
    String text2 = text;
    // use text variable here...
}
壤驷承
2023-03-14

您应该更改MyDocument类以添加新的String字段以保存text

import java.util.ArrayList;

class MyDocument {

    private String text;
    private ArrayList<Character> document = new ArrayList();

    public MyDocument() {
    }

    void setDocumentText(String s) {
        this.text = text;
        for (int i = 0; i < s.length(); i++)
            document.add(s.charAt(i));
    }

    ArrayList<Character> getDocumentText() {
        return this.document;
    }

    public int alphabetOccurrence(char letter) {

        this.text; //do something

    }
}
 类似资料:
  • 我是java新手,我不知道如何从另一个类访问变量 我正在尝试编写一个代码来发送带有未存储在本地的附件的邮件。我想访问SendMail类中ExcelFile类中编写的变量 如何在另一个类中访问excelFileAsByte并发送邮件而不将其存储在本地。我可以使用addBodyPart和ByteArrayResource将文件添加为附件吗。

  • 问题内容: 我正在为一个项目做老虎机。我无法从中生成新的随机数。我可以在程序启动并进行设置时将数字随机化,但是它不能满足我的需求。它仅用于测试目的。 我在另一个Java文件中。一切正常,我只是无法弄清楚如何在占位符产生新的随机量,以及按钮被按下时。 我刚刚在大约3周前才开始真正编码。 请不要讨厌,这是我有史以来的第一个项目。 问题答案: 尝试做不会按照您的预期去做,这使您可以访问 相同的 实例变量

  • 我是一名Java程序员初学者。我试图在类交通中访问类车中的两个列表,这样我就可以执行while循环,循环直到主类中的列表为空 这就是我现在掌握的代码,我试着从普通车上扩展流量,但没有成功,我被卡住了。我该怎么解决这个问题?

  • 问题内容: 您好我是Java的初学者,这是我的问题:我有带有以下变量的第一堂课: 我也有这堂课: 我的问题是:我想将number1和number2变量存储到ArrayList中,然后从类test中访问此ArrayList。我怎样才能做到这一点? 问题答案: 和测试类:

  • 问题内容: 如何在用户类中打开数据库连接,我可以在其中进行数据库操作?以及为什么需要在DBConnection类中定义内置的已创建函数。 我创造了 db.php user.php result.php 在db.php中 在User.php中 在result.php $conn->real_escape_string(trim(strip_tags($_POST[‘username’]))); $e