如果我有一个带有数字列表的文件,如何在不添加数字的情况下对每个数字求平方根?我有一个带有数字列表的.txt文件,我想对它们进行平方根处理,但是每次执行此操作时,所有数字都会加在一起,然后再对它们进行平方根处理。列表看起来像
1
2
3
4
5
依此类推。这就是我所拥有的
import java.util.*;
import java.io.*;
import java.lang.Math;
public class d1 {
public static void main(String[] args)throws IOException{
double y=0;
Scanner input = new Scanner(new File("numbers.txt"));
String line = input.nextLine();
double a =0;
double x1=0;
while( input.hasNext()){
String string = line;
double z = input.nextDouble();
String x = string.substring(0);
int d = Integer.parseInt(x);
y=y+z;
if (d ==Integer.parseInt(x)) {
a += 1;
}
x1=Math.sqrt(y);
} System.out.println(x1);
}}
每次使用double z = input.nextDouble();
来获取新数字,然后使用y=y+z;
来进行此操作,这意味着它会将新数字与先前的总和相加(从零开始,因为您的开头为double y=0
。
y
没有其他更改,因此y
将添加所有正在处理的数字。另外,每次处理编号时,都用y
来计算x1=Math.sqrt(y);
的平方根,并将其保存在x1
中。当您处理最后一个数字时,y
已将所有数字相加,然后计算y
的平方根-和-并计入x1
此循环结束时,打印出x1
,该值具有所有加数的平方根的值。
如果要找出所有数字的平方根,可以写成
import java.util.*;
import java.io.*;
import java.lang.Math;
public class d1 {
public static void main(String[] args)throws IOException{
Scanner input = new Scanner(new File("numbers.txt"));
String line = input.nextLine();
while( input.hasNext()){
double z = input.nextDouble();
double x1 = Math.sqrt(z);
System.out.println(x1);
}
}
}}