Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向需要字符串的方法提供字符串时出现不兼容类型错误_Java_String - Fatal编程技术网

Java 向需要字符串的方法提供字符串时出现不兼容类型错误

Java 向需要字符串的方法提供字符串时出现不兼容类型错误,java,string,Java,String,我试图将一个字符串值传递给一个接受字符串的方法,但是我得到了错误“不兼容的类型”。我已尝试对int值进行硬编码,以查看它会产生我预期的错误: 发现int;必需:java.lang.String 将方法改为接受文件,出现以下错误: 找到字符串;必需:java.io.File 因此,我在一根绳子应该在的地方喂一根绳子。但我不明白我错在哪里。(我已将其更改回feed String和accept String) 欢迎任何反馈。提前感谢:) import java.io.*; 导入java.util.*;

我试图将一个字符串值传递给一个接受字符串的方法,但是我得到了错误“不兼容的类型”。我已尝试对int值进行硬编码,以查看它会产生我预期的错误:

发现int;必需:java.lang.String

将方法改为接受文件,出现以下错误:

找到字符串;必需:java.io.File

因此,我在一根绳子应该在的地方喂一根绳子。但我不明白我错在哪里。(我已将其更改回feed String和accept String)

欢迎任何反馈。提前感谢:)

import java.io.*;
导入java.util.*;
公开课考试
{
私有ArgsReader输入文件;
私有字符串文件名;
私有列表入口队列;
/**
*类测试对象的构造函数
*/
公开考试()
{
inputFile=新的ArgsReader();
entryBayQueue=新建LinkedList();
}
/**
*方法
*/
公共无效运行(字符串[]args)
{
if(args.length>0)//如果提供参数,则启动
{
弦线;
filename=args[0];
System.out.println(filename.getClass().getSimpleName());//输出字符串
line=inputFile.stringFileReader(filename);//调用包含读取功能的方法来读取和存储行中的内容
//*******这里是发生错误的地方
//System.out.println(line);//这里的line=null
StringTokenizer st=新的StringTokenizer(行);//标记行的内容
而(st.hasMoreTokens())
{
System.out.println(st.nextToken());
int serialNum=0;
开关(st.nextToken())
{
案例“A”:
{
serialNum++;
托盘杏仁托盘=新托盘(1,serialNum);//创建新杏仁颗粒并分配序列号
entryBayQueue.add(almondPallet);//将托盘添加到列表的末尾
打破
}
}
}
}
else//在未提供参数时启动
{
filename=null;
Console=System.Console();
filename=console.readLine(“要读取的文件:”);
inputFile.stringFileReader(文件名);//调用包含读取功能的方法
}
}
}
//*******这是stringFileReader的实现
public void stringFileReader(字符串文件名)
{
尝试
{            
输入=新建文件读取器(文件名);//打开文件进行读取(字符串文件名)
buffReader=newbufferedreader(输入);//一次读取一行
line=buffReader.readLine();//读取第1行
while(行!=null)
{
lineNum++;
系统输出打印项次(行);
line=buffReader.readLine();//读取下一行
}
}
catch(IOException e){System.out.println(“捕获的IOException”);}
应该是

public String stringFileReader(String filename)
方法在调用时未返回值


感谢所有帮助您的人。

显然,您的方法是将
文件
作为参数,而不是
字符串
。您已经显示了很多代码,但都不相关:显示
stringFileReader
@jeroenvanevel的方法声明。我已经编辑了这个问题,以满足您的要求。方法绝对是not获取文件你能创建一个简短的代码示例来演示问题吗?我们也可以执行的东西。你应该能够在10行中完成这项工作。但是,我预测,当你尝试时,你将无法复制此问题。你正在做一些其他错误并误解错误。至少,包括你所有的代码e并显示确切的错误。这是编译错误还是堆栈跟踪?无论哪种方式,您都会得到行号。您必须共享所有信息。请不要共享所有代码,共享相关代码。这里已经有太多不必要的代码,没有人会读到。并共享错误消息-确切的错误消息。
public void stringFileReader(String filename)
public String stringFileReader(String filename)