我正在嘗試讀取名爲ecoli.txt的文件,其中包含ecoli的DNA序列,並將其內容存儲到一個字符串中。我試圖打印字符串來測試我的代碼。但是,當我運行該程序時,沒有輸出。我對Java仍然陌生,所以我確信在我的代碼中有一個錯誤,我只需要幫助找到它。爲什麼我運行代碼時沒有輸出?
package codons;
import java.io.*;
public class codons
{
public static void main(String[] args)
{
try
{
FileReader codons = new FileReader("codons.txt");
FileReader filereader = new FileReader("ecoli.txt");
BufferedReader ecoli = new BufferedReader(filereader);
StringBuilder dna_string = new StringBuilder();
String line = ecoli.readLine();
while(line != null);
{
dna_string.append(line);
line = ecoli.readLine();
}
String string = new String(dna_string);
System.out.println(string);
ecoli.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
編輯:
我仍然有獲得程序工作,我想它,所以我試圖完成寫什麼,我在節目想休息的麻煩了,我仍然沒有得到任何輸出。無論如何,這是我在哪裏,在現在:
package codons;
import java.io.*;
import java.util.*;
import java.lang.*;
import java.text.*;
public class codons
{
public static void main(String[] args)
{
try
{
FileReader filecodons = new FileReader("codons.txt");
FileReader filereader = new FileReader("ecoli.txt");
BufferedReader ecoli = new BufferedReader(filereader);
StringBuilder dna_sb = new StringBuilder();
String line = ecoli.readLine();
while(line != null)
{
dna_sb.append(line);
line = ecoli.readLine();
}
String dna_string = new String(dna_sb);
ecoli.close();
BufferedReader codons = new BufferedReader(filecodons);
StringBuilder codon_sb = new StringBuilder();
String codon = codons.readLine();
while(codon != null)
{
codon_sb.append(codon);
line = codons.readLine();
}
String codon_string = new String(codon_sb);
codons.close();
for(int x = 0; x <= codon_sb.length(); x++)
{
int count = 0;
String codon_ss = new String(codon_string.substring(x, x+3));
for(int i = 0; i <= dna_sb.length(); i++)
{
String dna_ss = new String(dna_string.substring(i, i+3));
int result = codon_ss.compareTo(dna_ss);
if(result == 0)
{
count += 1;
}
}
System.out.print("The codon '");
System.out.print(codon_ss);
System.out.print("'is in the dna sequence");
System.out.print(count);
System.out.println("times.");
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
調試時間 - 在while循環中打印出行以查看正在發生的情況,打印出文件的路徑以確保其正確性 –
您還應該添加一個catch塊以用於'Exception '如果異常類型不是'FileNotFoundException'或'IOException'。 –
我也很困惑,爲什麼當它被初始化爲'String'時,爲什麼要迭代'line'。這真的沒有意義 - 最好不是'while'而是'if'。 –