我在while循环结束前收到index.hasNext
和input.nextInt();
的语法错误。 “input.nextInt();” for“weights [index] = input.nextInt();”适用但不适用于“类型[索引]”。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Horse {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input =null;
int[] weights = new int[100];
String[] types = new String[100];
try {
input = new Scanner(new File("horseData.csv"));
} catch (FileNotFoundException e) {
System.out.println(" Error FIle Not FOund");
e.printStackTrace();
System.exit(1);
}//end catch
int index = 0;
while (index.hasNext()) {
weights[index] = input.nextInt();
types[index] = input.nextInt();
System.out.println(" Weight: "+ weights[index] + ", types:" + types[index]);
}//end while
input.close();
for(int i = 0; i < types.length;i++)
System.out.println((i+1) + "\t" + amountOfFeed(types[i], weights[i]));
}//end main
public static double amountOfFeed(String horseType, int horseWeight) {
if(horseType.equals(" maintance") || horseType.equals(" light work") )
return horseWeight * .02;
else if (horseType.equals(" Moderate work"))
return horseWeight * .025;
return horseWeight * .03;
}
}
谢谢:)
答案 0 :(得分:2)
更改以下内容
while (index.hasNext())
到
while (input.hasNext())
您可能还需要使用index
index++
答案 1 :(得分:2)
简单:
int index = 0;
while (index.hasNext()) {
您将index
声明为基本类型int。原始类型不是对象,你可以不调用它们的方法!
所以,你可能意味着:
while (input.hasNext()) ...
事情是:细节很重要。因此,例如,避免使用太&#34; close&#34;相互之间(以便在实际意味着index
时)意外使用input
。
答案 2 :(得分:0)
在我们使用方法()
调用它们之前,需要将原始数据类型转换为对象