如果我有一个带有数字列表的文件,如何在不添加数字的情况下对每个数字求平方?
我有一个带有数字列表的.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);
}
}
}}
关于java - 如果我有一个带有数字列表的文件,如何在不添加数字的情况下对每个数字求平方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62379156/