gpt4 book ai didi

java - 找不到符号新

转载 作者:行者123 更新时间:2023-12-01 07:39:15 26 4
gpt4 key购买 nike

我知道以前可能已经提出过类似的问题,但我自己找不到答案。作为序言,我已经找到了一种解决方法,但想知道为什么调用构造函数失败。我将显示失败的代码然后工作。

这段代码是一个简单的文件分析器,它报告 txt 文件中的第一个最后一个和中间(不准确)条目。要求之一是从命令行接收参数。

感谢您的宝贵时间。

失败:

$ javac DataAnalyzerTester.java    
DataAnalyzerTester.java:11: cannot find symbol
symbol : constructor DataAnalyzer(java.lang.String)
location: class DataAnalyzer
analyze = new DataAnalyzer(args[0]);
-----------^


//DataAnalyzerTester.java

import java.util.*;
import java.io.*;

public class DataAnalyzerTester
{
public static void main(String[] args)
{
DataAnalyzer analyze;
analyze = new DataAnalyzer(args[0]);
//analyze.setFile(args[0]);
System.out.println(analyze.min());
System.out.println(analyze.max());
System.out.println(analyze.avg());
}
}


//DataAnalyzer.java
import java.util.*;
import java.io.*;

public class DataAnalyzer
{
public void DataAnalyzer(String fileN)
{
try
{
reader = new FileReader(fileN);
Scanner in = new Scanner(reader);
while(in.hasNextLine())
{
fileContent.add(in.nextLine());
}
}
catch(IOException exception)
{
System.out.println("File not found. Try again Dumbass.");
}
}

public void setFile(String fileN)
{
try
{
reader = new FileReader(fileN);
Scanner in = new Scanner(reader);
while(in.hasNextLine())
{
fileContent.add(in.nextLine());
}
}
catch(IOException exception)
{
System.out.println("File not found. Try again Dumbass.");
}
}

public String min()
{
return fileContent.get(0);
}

public String max()
{
return fileContent.get(fileContent.size() - 1);
}

public String avg()
{
return fileContent.get((int) fileContent.size() / 2);
}

private FileReader reader;
private ArrayList<String> fileContent = new ArrayList<String>();
}
<小时/>

基本上上面的版本不起作用,但我添加了一个 setFile 方法来执行与构造函数相同的操作。那么我的问题是为什么我不能以这种方式调用构造函数?再次感谢。

最佳答案

构造函数不应指定返回类型 - 这与与类匹配的名称相结合是编译器将其识别为构造函数的方式。所以代替:

public void DataAnalyzer(String fileN)

写:

public DataAnalyzer(String fileN)

更多信息:http://download.oracle.com/javase/tutorial/java/javaOO/constructors.html

关于java - 找不到符号新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7343751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com