2017-06-05 7 views
0

私は初心者で、私のコードを読むためのテキストファイルをリンクする必要があるエクササイズをしています。ここ私のテキストファイルを私のJavaコードにリンクする

コードされています。私は取得

import javax.swing.*; 
import java.util.*; 
import java.io.*; 

public class Java116 { 

public static void main(String[] args) throws IOException { 

    String[] namn   = new String[100]; 
    double[] perMån  = new double[100]; 
    double[] perMinDag  = new double[100]; 
    double[] perMinÖvr  = new double[100]; 
    double[] friaDag  = new double[100]; 
    double[] friÖvr  = new double[100]; 

    Scanner fil = new Scanner(new File("mobildata.txt")); 
    int n = 0; 

    while (fil.hasNext()) { 
     namn [n] = fil.next(); 
     perMån[n]  = fil.nextDouble(); 
     perMinDag[n] = fil.nextDouble(); 
     perMinÖvr[n] = fil.nextDouble(); 
     friaDag[n]  = fil.nextDouble(); 
     friÖvr[n]  = fil.nextDouble(); 
     n++; 
    } 

    while (true) { 
     String s =JOptionPane.showInputDialog("Hur många minuter ringer du per månad \n" + 
     "Under dagrid respettive övrig tid? "); 

     if (s == null) 
      break; 

     Scanner input = new Scanner (s); 
     double minDag = input.nextDouble(); 
     double minÖvr = input.nextDouble(); 
     double billigast = Double.MAX_VALUE; 
     int index = 0; 
     for (int i=0; i<n; i++) { 
      double antalDag = Math.max(minDag-friaDag[i], 0); 
      double antalÖvr = Math.max(minÖvr-friÖvr[i], 0); 
      double kostnad = perMån[i] + antalDag*perMinDag[i] + antalÖvr*perMinÖvr[i]; 
      if (kostnad < billigast) { 
       billigast = kostnad; 
       index = i; 
      } 
     } 
     String resultat = String. format("%.2f", billigast); 
     JOptionPane.showMessageDialog(null, 
       namn[index]+ "är billigast.\n" +"kostnad: " + resultat + "kr/månad"); 
    } 

} 
} 

エラーは次のとおりです。

Exception in thread "main" java.io.FileNotFoundException: mobildata.txt (The 
system cannot find the file specified) 
at java.io.FileInputStream.open0(Native Method) 
at java.io.FileInputStream.open(FileInputStream.java:195) 
at java.io.FileInputStream.<init>(FileInputStream.java:138) 
at java.util.Scanner.<init>(Scanner.java:611) 
at Java116.main(Java116.java:16) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 

私はのIntelliJを使用した場合、すべての私の他のファイルが配置されているjavaファイルにテキストファイルを追加した

事前に感謝します!

答えて

0

Intellijを使用しているときにこの問題がよく発生します。ファイルの正確なパスを確認しましたか?絶対パスまたは相対パスを使用していますか?このプログラムは、Intellijで実行していないときに実行されますか?この行に正確なパスを入れてみてください :

Scanner fil = new Scanner(new File("mobildata.txt")); 

は、これらの質問に答えてください、そして、私はさらに助けることができるかもしれません。

+0

こんにちは返事を申し訳ありません!絶対パスか相対パスかは分かりませんが、他に何もインストールしていないので、intellij以外のプログラムは試していません。 スキャナfil =新しいスキャナ(新しいファイル( "c:\ javamapp \ mobildata.txt")? ありがとうございました! – Biogrid

+0

デスクトップ上でJavaプログラムを実行できます/ laptop。あなたのデスクトップのプロジェクトのディレクトリを作成し、ここにテキストファイルを保存してから、javac Java116.javaを使ってフォルダ内のアプリケーションを実行してください - これが完了したらjava116で実行してください。 – iiiiiii

+0

こんにちは、申し訳ありませんが、どうすればいいのかわかりません:S。 気づいたように私はこのようなことはよく分かりません:( – Biogrid

0

アプリケーションが間違ったディレクトリにある可能性があります。 IntelliJ IDEAでは、プロジェクトツールウィンドウが開いていることを確認してください(表示 - >ツールウィンドウ - >プロジェクト)。プロジェクトウィンドウで「プロジェクトファイル」を選択します(スクリーンショットを参照)。

Screenshot

あなたmobildata.txtファイルが置かれているあなたは、次に表示されます。プログラムを実行するときにはおそらく現在の作業ディレクトリであるトップレベルのプロジェクトフォルダにドラッグアンドドロップします。再実行し、これで解決するかどうか確認してください。

+0

こんにちはKlitos、答えてくれてありがとう、私は "プロジェクトファイル"を見つけることはできません。多分あなたはスクリーンショットを送ることができますか? – Biogrid

+0

@Biogridスクリーンショットが追加されました –

関連する問題