带输入的简单Java 2D数组

时间:2015-11-11 10:02:53

标签: java arrays

我是Java新手,在学校做了一些工作。 现在我不知道如何继续,我希望你能帮助我。

这是我的代码,直到现在

    package bp;
import java.util.Scanner;

public class BenzinP {

    private int row = 4;
    private int col = 4;
    private int[][] matrix;

    public BenzinP(int trow, int tcol) {

        this.row = trow;
        this.col = tcol;
    }

    public BenzinP(int trow, int tcol, int[][] m) {

        this.row = trow;
        this.col = tcol;
        this.matrix = m;
    }
    public int[][] fill(){ 
        int[][] data = new int[row][col]; 
        Scanner in = new Scanner(System.in);
        for(int row = 0; row< matrix.length; row++){ 
              for(int col = 0 ;col< matrix.length; col++){ 
                  System.out.println("Date"); 
                  data[row][0] = in.nextInt(); 
                  System.out.println("Price"); 
                  data[row][1] = in.nextInt(); 
               }
              System.out.println(); 
          } 

           for(int row = 0; row< matrix.length; row++){
       for(int col = 0 ;col< matrix[row].length; col++){ 
             System.out.print(data[row][col]);
       } 
      System.out.println(); 
   }
         return data; 
    }



    public static void main(String[] args){
        int[][] ma = new int[3][2];
        BenzinP q2 = new BenzinP(3, 2,ma);
        q2.fill();
    }
}

任务是: 创建一个Java程序,可以节省不同天气的价格,并可以不同的格式输出(排序价格高或日期)。 您应该使用可以安全数据至少30天的2D阵列。 它也应该显示平均值,分钟。和最高价格。 该程序也应该用方法等外包。

我希望你能帮助并保持简单。

1 个答案:

答案 0 :(得分:0)

我会做出一些假设,以便能够回答这个问题:

如果BenzinP是一个类,则不应包含main方法。只有项目中的主类应包含main,因为这就是JVM期望的&#34;入口点&#34;在你的代码中。

public static void main(String[] args)

由于这是一项练习,所以不要担心到目前为止。

然后,BenzinP类有2个不需要的构造函数。

我建议如下:

BenzinP(){
   this.matrix=new int[this.row][this.col];
}

创建您想要的其他方法,例如查询最高值,最低等等。并启动您的主要

public static void main(String[] args){
    BenzinP q2 = new BenzinP();
    q2.fill();
    q2.getHighest();
    // q2.getLowest();
    // q2.getEtc();
}

作为建议,为了搜索最高和最低值,迭代你的数组并将该值与初始化值进行比较,如果它更大/更小,更新值,在数组的末尾,返回初始值:

public int getHighest(){
   int max = -2147483648; // the lowest possible integer.
   for(int i=0 i<this.row;i++){
      if(matrix[i][1]>max){
         max = matrix[i][1];
      }
   }
   return max;
}