java - Java中两个不同数组之间的数字相除

标签 java arrays list methods division

这是我的第一篇文章。预先感谢您对此主题的理解和帮助。我试图在两个不同的数组之间划分两个数字。我的数据是从 .txt 文件中提取的。我得到了名称、加仑和英里。我正在尝试计算 MPG。所以我必须将加仑[0]除以英里[0],加仑[1]除以英里[1],等等......并将其显示在cmd窗口的列表中。下面是我到目前为止的代码。请注意,底部的伪方法是我在尝试上面的方法之前尝试的方法。如果这个问题已在之前的帖子中得到解决/回答,我提前表示歉意。

import java.util.Scanner;
import java.io.*;
public class mpgHOmework2{
    public static void main(String[]args) throws IOException{

    File fn = new File("mpg.txt");
    Scanner inputFile = new Scanner(fn);

    Scanner keyboard = new Scanner(System.in);

    String[] names = new String[10];
    int[] miles = new int[10];
    int[] gallons = new int[10];
    double mpg;

    fillArray(inputFile,names,miles,gallons);

    displayArray(names,miles,gallons,mpg(miles,gallons));

    }//end main method
//==================================================================
    public static void fillArray(Scanner input,String[] arrIn, int[] arr1In, int[] arr2In){

        for(int indx = 0; indx < arrIn.length; indx++){
            arrIn[indx] = input.nextLine();
            if(arrIn[indx].length() == 0)arrIn[indx] = input.nextLine();
            arr1In[indx] = input.nextInt();
            arr2In[indx] = input.nextInt();}


    }//end fillArray method
//==================================================================
    public static void displayArray(String[] arrIn,int[] arr1In, int[]arr2In, double mpg){

        System.out.printf("%-18s   %5s    %7s   %3s\n","Names","Miles","Gallons","MPG");
        System.out.printf("%-18s   %5s    %7s   %3s\n","==================","=====","=======","===");
        for(int indx = 0; indx < arrIn.length; indx++)
            System.out.printf("%-18s   %5d   %7d  %.2f\n",arrIn[indx],arr1In[indx],arr2In[indx],mpg);

    }//end displayArray method
//==================================================================
    public static double mpg(Scanner input,String[] arrIn, int[] arr1In, int[] arr2In){

        for(int indx = 0; indx < arrIn.length; indx++){
            arrIn[indx] = input.nextLine();
            if(arrIn[indx].length() == 0)arrIn[indx] = input.nextLine();
            arr1In[indx] = input.nextInt();
            arr2In[indx] = input.nextInt();
        return = arr1In[indx]/arr2In[indx];}
}enter code here
/*  public static double mpg(int[] arrOneIn, int[] arrTwoIn){

        double retValue = 0.0;
            int a = 0;
            int b = 0;
            for (int i = 0; i < arrOneIn.length-1; i++){
                return [i] = arrOneIn[i] / arrTwoIn[i];
                }

            return a/b;
    }//end mpg method*/
}//end class

这是 mpg.txt 文件。抱歉,我 10 分钟前刚刚注册,还不知道如何浏览该网站。

John Murphy
1200  60
Katherine Cleary
1500 63
Isaac Fajerman
2600 87
Marsha Smiith
3500 100
Jason Meier
4100 196
Inna Johnson
750 34
Walter Philips
6900 265
Tracey Cannon
5024 187
Sheryl Rothman
6800 323
Jeff Gottlieb
450 18

感谢您的宝贵时间。

-罗布

最佳答案

这是您的主要问题。您的 mpg 方法应该如下所示。您需要全部归还 数组中的平均值,因此返回值需要是一个数组。

并且您需要将其中一个 int[] 数组转换为双倍,这样就不会在除法过程中丢弃分数。


    public static double[] mpg(int[] arrOneIn, int[] arrTwoIn) {

        double[] retValues = new double[arrOneIn.length];
        for (int i = 0; i < arrOneIn.length; i++) {
            retValues[i] = (double) arrOneIn[i] / arrTwoIn[i];
        }
        return retValues;
    }

关于java - Java中两个不同数组之间的数字相除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61031247/

相关文章:

java - 如何根据 Android Room 的参数查询实时数据?

java - 如何测试服务器端是否出现错误,并输出客户端

c++ - Int Array[ ] 打印不好。

javascript - 使用 slice、spread 和 map 改变数组的数组

python - 如何将数字形式的 python 列表转换为字母?

java - 使用谷歌地图计算实时行进距离

java - String s = "something"; 之间有什么区别?和字符串 s = 新字符串 ("something");

java - 通过 Java 套接字发送带有 <APPLET> 标记的 html 文件

javascript - 为什么我必须将字符串插入数组才能再次将其连接回来?

python - 如何让一个函数在另一个函数中运行,但从每个函数中的不同列表进行评估?