首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java函数问题

Java函数问题
EN

Stack Overflow用户
提问于 2011-03-29 09:24:18
回答 2查看 97关注 0票数 0

好吧,我是Java的新手,我正在尝试开发一个应用程序来自学如何使用这门语言。

我一直在复制和粘贴相同的几行代码,我知道有一种方法可以将其合并到一个函数中,但无法完全弄清楚。

代码语言:javascript
复制
 FileOutputStream fout4 = openFileOutput("building1hourly.txt", MODE_WORLD_READABLE);
 OutputStreamWriter osw4 = new OutputStreamWriter(fout4);
 osw4.write("" +iHourlyAfter);
 osw4.flush();
 osw4.close();

现在有没有什么方法可以让我这样做呢?

代码语言:javascript
复制
public void writerFunction("What to write to file", "name stream", "name writer", "MODE"){insert above code here}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-29 09:31:30

是的,绝对:

代码语言:javascript
复制
public void writeToFile(String fileName, String contents, int mode) throws IOException {
    FileOutputStream fout = openFileOutput(fileName, mode);
    OutputStreamWriter osw = new OutputStreamWriter(fout);
    osw.write(contents);
    osw.flush();
    osw.close();
}
票数 4
EN

Stack Overflow用户

发布于 2011-03-29 09:38:59

首先,到目前为止,你做得很好。学习编程就像学习数学一样(除了更多乐趣),你可以在书中读到任何你想要的东西,但直到你实践了概念,你才能真正理解概念。你这样做是对的。

现在,回答您的问题:是的,您可以将写入文件的过程封装在一个函数中。让我们称它为writeToFile。您希望通过向其发送参数来“调用”此函数。参数是函数执行其工作所需的信息。

函数有两个方面:声明调用。就像在数学中一样,你可以定义一个函数f(x),在这个函数中f做一些事情。例如:假设我有一个函数f(x) = 2x - 4。这个等式就是我们所说的函数声明,因为我们定义的是f所做的事情,而您定义的是它接受的参数,即单值x。然后,您希望将该函数应用于某个值x,因此可以执行类似于:f(4)的操作。这是函数调用。您正在调用或调用函数,并将4作为参数发送。调用函数的代码称为调用者

让我们从要构建的函数的声明开始:

public void writeToFile (String data, String fileName)

此函数在其签名中定义了两个参数;它需要一个包含您将写入文件的dataString,以及我们将向其写入datafileNamevoid表示此函数不会向调用者返回任何数据。

完整的函数,您在帖子中提供了它的主体:

代码语言:javascript
复制
public void writeToFile (String data, String fileName){
    FileOutputStream fout4 = openFileOutput(fileName, MODE_WORLD_READABLE);
    OutputStreamWriter osw4 = new OutputStreamWriter(fout4);
    osw4.write("" +iHourlyAfter);
    osw4.flush();
    osw4.close();
}

现在,您将希望调用此函数,或者从代码中的其他位置调用此函数。您可以这样做:

代码语言:javascript
复制
writeToFile("stuff I want to write to a file", "myFile.txt");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5466890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档