2017-10-22 15 views
1

これは、複数の行があり、それぞれが文字列と浮動小数点数を含み、各行を出力するファイルを読み込むためのコードです。私は、メソッドsplit()とloadStrings()のシンボルを見つけることができないというエラーが発生し続ける。 私は何が間違っていますか?シンボルエラーが見つかりませんでした。java

import java.util.Scanner; 
import java.io.FileNotFoundException; 
import java.io.File; 
import java.util.SplittableRandom; 
public class EmployeePay { 
    public static void main(String[] args) throws FileNotFoundException { 
    if (args.length != 1) { 
     final String msg = "Usage: EmployeePay name_of_input file"; 
      System.err.println(msg); 
      throw new IllegalArgumentException(msg); 
      } 

     final String inputFileName = args[0]; 
     final File input = new File (inputFileName); 
     final Scanner scanner = new Scanner(input); 

     String line = " "; 
     String Identification = " "; 
     float WorkTime; 
     float MoneyPerHour; 
     int TotalDeductions= 0; 
     String[] lines, info; 
     float[] numberInfo; 
      lines = loadStrings(scanner); 
      info = new String [lines.length]; 
      numberInfo = new float [lines.length]; 
      String [] tokens; 
      for (int i =0; i < lines.length; i++){ 
      tokens = split(lines[i]," "); 
      info [i] = tokens[0]; 
      numberInfo[i]= Float.parseFloat(tokens[1]); 
      System.out.println(info[i]+" "+numberInfo[i]); 
      } 
+1

ここで、「分割」は定義されていますか?あなたの 'EmployeePay'クラスにそのようなメソッドはありません – MadProgrammer

答えて

0

コンパイラが正しく、宣言されていない2つのメソッドを使用しました。私は、String.split()を使いたかったのですが、その構文を知らなかったと思います。それだけでコンテキストの外にあるかもしれないので、一方で、あなたは、あなたのloadStrings()方法のためのソースを提供しなかった、EGは、それが非staticと宣言し、とにかくstatic main() ...

から、それを使用しようとした、あなたのコードaを修正しましたこのようなものを試してみてください:

public static void main(final String[] args) throws FileNotFoundException 
{ 
    if (args.length != 1) 
    { 
     final String msg = "Usage: EmployeePay <name_of_input file>"; 
     System.err.println(msg); 
     throw new IllegalArgumentException(msg); 
    } 

    final Scanner scanner = new Scanner(new File(args[0])); 

    final String[] lines = loadStrings(scanner); 
    final String[] info = new String[lines.length]; 
    final float[] numberInfo = new float[lines.length]; 
    for (int i = 0 ; i < lines.length ; i++) 
    { 
     final String[] tokens = lines[i].split(" "); 
     info[i] = tokens[0]; 
     numberInfo[i] = Float.parseFloat(tokens[1]); 
     System.out.println(info[i] + " " + numberInfo[i]); 
    } 
} 

private static String[] loadStrings(final Scanner scanner) 
{ 
    final List<String> result = new ArrayList<>(); 
    while (scanner.hasNextLine()) 
    { 
     result.add(scanner.nextLine()); 
    } 
    return result.toArray(new String[result.size()]); 
} 
関連する問題