输入文件中整数位数求和java错误
我试图从输入文件“input.txt”中读取整数,将整数分开,然后添加数字。我的这段代码给了我一个错误,说sum的方法是一个非法的开始。有什么建议吗输入文件中整数位数求和java错误,java,methods,Java,Methods,我试图从输入文件“input.txt”中读取整数,将整数分开,然后添加数字。我的这段代码给了我一个错误,说sum的方法是一个非法的开始。有什么建议吗 public static void main(String[] args){ //declarations boolean fileOpened = true; Scanner inputFile = null; int sumNum, num; //read input String fileN
public static void main(String[] args){
//declarations
boolean fileOpened = true;
Scanner inputFile = null;
int sumNum, num;
//read input
String fileName = " ";
System.out.println("Please input the name of the file to be opened: ");
Scanner input = new Scanner(System.in);
fileName = input.nextLine();
try{
inputFile = new Scanner(new File(fileName));
}
catch(FileNotFoundException e){
System.out.println("--- File NOT Found! ---");
fileOpened = false;
}
if(fileOpened && inputFile.hasNext()){
sumNum = sum(num);//method call
while(inputFile.hasNextInt()){
if(inputFile.hasNextInt()){
num = inputFile.nextInt();
System.out.println("For number " + num + " the sum of the digits is: " + sumNum);
}
else{
inputFile.next();
}
}
}
public static int sum(int num){
int i, sumNum = 0;
for(i = 1; i <= num; i++){
sumNum += num % 10;
num /= 10;
}
return sumNum;
}
}
publicstaticvoidmain(字符串[]args){
//声明
布尔值fileOpened=true;
扫描仪输入文件=空;
int sumNum,num;
//读取输入
字符串fileName=“”;
System.out.println(“请输入要打开的文件名:”;
扫描仪输入=新扫描仪(System.in);
fileName=input.nextLine();
试一试{
inputFile=新扫描仪(新文件(文件名));
}
catch(filenotfounde异常){
System.out.println(“--未找到文件!”);
fileOpened=false;
}
if(fileOpened&&inputFile.hasNext()){
sumNum=sum(num);//方法调用
while(inputFile.hasNextInt()){
if(inputFile.hasNextInt()){
num=inputFile.nextInt();
System.out.println(“对于数字“+num+”,数字之和为“+sumNum”);
}
否则{
inputFile.next();
}
}
}
公共静态整数和(整数){
int i,sumNum=0;
对于(i=1;i您在主方法中缺少一个}
。您还没有初始化num
我已修复main以提供正确的输出。您的方法中还有其他问题。您在错误的位置调用了sum
方法。请尝试以下答案:
public static void main(String[] args){
//declarations
boolean fileOpened = true;
Scanner inputFile = null;
int sumNum, num = 0;
//read input
String fileName = "";
System.out.println("Please input the name of the file to be opened: ");
Scanner input = new Scanner(System.in);
fileName = input.nextLine();
try{
inputFile = new Scanner(new File(fileName));
}
catch(FileNotFoundException e){
System.out.println("--- File NOT Found! ---");
fileOpened = false;
}
while(inputFile.hasNextInt()){
num = inputFile.nextInt();
sumNum = sum(num);//method call
System.out.println("For number " + num + " the sum of the digits is: " + sumNum);
}
}
缩进您的代码,您可能缺少一些{
和}
s。现在我可以看到,您没有}
您的main
方法。sumNum=sum(num);//方法调用
,u贴花num
但我看不到它的初始化位置!!谢谢!我修复了它并初始化了方法调用,但现在它没有读取“.txt”文件并使用文件中的整数。@anirudh:据我所见……你只是将注释汇总为答案……至少你应该指出}
在main
!!:)@NoobEditor:对不起,我正在修复方法,所以在发布答案时没有看你的注释。我现在发布了fixed main方法。它修复了错误,除了我的逻辑错误,它不允许使用“input.txt”文件获取整数以求和。太令人困惑了