gpt4 book ai didi

java - 如何在java文件I/O中将所有数字乘以10

转载 作者:行者123 更新时间:2023-12-02 03:42:50 24 4
gpt4 key购买 nike

好的,所以我必须编写一个程序来创建一个名为 Lab13.txt 的文件。使用文本 I/O 将随机创建的 10 个范围 [0, 99] 的整数写入文件中。文件中的整数由空格分隔。从文件中读回数据并将其显示在控制台上。我已经完成了这一部分,但接下来我必须获取该文件中的这些数字,创建一个新文件,将 Lab13.txt 文件中的所有数字相乘,然后将它们存储在新文件中。我的问题是,当我创建新文件时,我只能让它乘以 Lab13.txt 文件中打印的最后一个数字。我如何让它将 Lab13.txt 文件中的所有数字乘以 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你乘以 10 是你在上一个循环中随机生成的最后一个数字。这就是问题所在。

删除行 -

toWrite += ("" + x*10);

替换为-


String numArray = y.split(" ");
for (int i=0; i<numArray.length; i++) {
int newNum = Integer.parseInt(numArray[i]) * 10;
toWrite += ("" + newNum);
}

关于java - 如何在java文件I/O中将所有数字乘以10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36650920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com