如果我有一个带有数字列表的文件,如何在不添加数字的情况下对每个数字求平方?

问题描述 投票:0回答:1

如果我有一个带有数字列表的文件,如何在不添加数字的情况下对每个数字求平方根?我有一个带有数字列表的.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);

}}
java
1个回答
0
投票

每次使用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);
        }
    }
}}
© www.soinside.com 2019 - 2024. All rights reserved.