繁体   English   中英

在 Java 中的两个不同 arrays 之间除数

[英]Dividing numbers between two different arrays in Java

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

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[] arrays 之一转换为加倍,这样您就不会在除法过程中丢弃分数。


    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;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM