私はファイル(dna.txt
)に行ごとに「YES」プリントアウトしようとしています。ファイル内の行が終了した後に停止する必要がありますが、何も出力ファイル(hi.txt
)に何も印刷されていないコードで何らかのループを作成しましたが、無限に終了します。私はそれもいくつかの "はい" sesを持っているはずですが、私の問題は明らかにファイルのトークンを正しく読み取っていないよりも大きいです。ラインスキャナループ
マイコード:
public static void Results(Scanner console) throws
FileNotFoundException {
System.out.print("Input file name? ");
Scanner input = new Scanner(new File("dna.txt"));
System.out.print("Output file name: ");
File outputFile = new File("hi.txt");
System.out.println();
PrintStream outputRead = new PrintStream(outputFile);
String isProtein = "NO";
while (input.hasNextLine()) {
String line = input.nextLine().toUpperCase();
Scanner lineScan = new Scanner(line);
while (lineScan.hasNext()) {
if (line.startsWith("ATG")) {
if (line.endsWith("TAA") || line.endsWith("TAG") ||
line.endsWith("TGA")) {
isProtein = "YES";
}
}
}
outputRead.println(isProtein);
}
System.out.println(isProtein);
}
テキストファイル(それは任意のテキストファイルを操作する必要があり、それはないですが):あなたはこのループが形成されている任意のアイデアを
protein?
ATGCCACTATGGTAG
protein?
ATgCCAACATGgATGCCcGATAtGGATTgA
protein?
CCATt-AATgATCa-CAGTt
protein?
ATgAG-ATC-CgtgatGTGgg-aT-CCTa-CT-CATTaa
protein?
AtgC-CaacaTGGATGCCCTAAG-ATAtgGATTagtgA
protein?
atgataattagttttaatatcaga-ctgtaa
を持っていますか?もしそうなら、私はこれをどのように修正すべきかのヒントを教えてください。
ありがとうございます!ただ、変更された数行
'lineScan'の目的は何ですか? – shmosel
私はそれを使ってテキストファイルの個々のトークンを読むと考えられます。 –
まあ...あなたは? – shmosel