好的,所以我必須編寫一個程序來創建一個名爲Lab13.txt的文件。使用文本I/O將10個隨機生成的[0,99]整數寫入文件。整數在文件中用空格分隔。從文件中讀回數據並將其顯示在控制檯上。 我已經完成了這部分,但接下來我必須在該文件中取這些數字,創建一個新文件,將Lab13.txt文件中的所有數字相乘,並將它們存儲在新文件中。我的問題是當我創建新文件時,我只能將它乘以從Lab13.txt文件打印的最後一個數字。我如何獲得它將Lab13.txt文件中的所有數字乘以10並打印出來?這可能是一個非常簡單的解決方案,我覺得無法想象它是如此愚蠢。創建文件是我們正在學習的新事物,我的老師幾乎沒有任何幫助。 :(我如何在java文件I/O中乘以10所有數字
import java.io.*;
public class Lab13 {
public static void main(String ar[]) {
String toWrite = "";
int x=0;
try {
File file=new File("Lab13.txt");
FileWriter filewriter=new FileWriter(file);
BufferedWriter writer=new BufferedWriter(filewriter);
for(int i=0;i<10;i++) {
x=(int)(Math.random()*100);
writer.write(" "+x);
}
writer.close();
} catch(IOException e) {
e.printStackTrace();
}
try {
File file1=new File("Lab13.txt");
FileReader filereader=new FileReader(file1);
BufferedReader reader=new BufferedReader(filereader);
String y;
while((y=reader.readLine())!=null) {
System.out.println(y);
toWrite += ("" + x*10);
System.out.println(toWrite);
}
File output = new File("lab13_scale.txt");
if(!output.exists()) output.createNewFile();
FileWriter writer = new FileWriter(output.getAbsoluteFile());
BufferedWriter bWriter= new BufferedWriter(writer);
bWriter.write(toWrite);
bWriter.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
先不要用'X:
你可以做的,而不是被讀取文件的全部內容到一個字符串,然後用空格分隔符(以下是未經測試的代碼),把它分解'源於先前的閱讀。 'y'包含數字的當前行。所以你需要從行中得到每個數字。心智乘以十隻會增加一個「0」,但數字「0」除外。 –
你需要遍歷你的數字......現在你正在使用'x'這是最後一個添加到文件中的數字。你需要將你的行分割成一個數組並將每個元素解析爲一個整數,然後將每個元素乘以10. – brso05
你可以在每個單詞中加上'0'。 ;) –