2016-05-08 403 views
0

我不知道如何从具有值的方法返回对象的实例。有什么办法将int类型转换为我的对象类型吗? 下面是一些说明我有:如何从java中的方法返回对象的实例

/* Design a class named Location for locating a maximal value and its location in a 
two-dimensional array. The class contains: 

-Public double type data field maxValue that stores the maximal value in a two-dimensional 
array 
-Public int type data fields row and column that store the maxValue indices in a 
two-dimensional array 

Write a the following method that returns the location of the largest element in a two 
dimensional array: 

    public static Location locateLargest(double[][] a) 

The return value is an instance of Location. Write a test program that prompts the user to 
enter a two-dimensional array and displays the location of the largest element in the 
array. Here is a sample run: 

Enter the number of rows and columns in the array: 3 4 
Enter the array: 
23.5 35 2 10 
4.5 3 45 3.5 
35 44 5.5 9.6 
The location of the largest element is 45 at (1, 2) */ 

这里是我的代码:

class Location { 

    public static double maxValue; 
    public static int row; 
    public static int column; 

    public static Location locateLargest(double[][] a) { 

     maxValue = a[0][0]; 
     row = 0; 
     column = 0; 

     Location result = new Location(); 

     for(int i = 0; i < a.length; i++) { 
      for(int j = 0; j < a[i].length; j++) { 

       if(a[i][j] > maxValue) { 

        maxValue = a[i][j]; 
        row = i; 
        column = j; 

        if((i == a.length-1) && (j == a[i].length-1)) 
         //Place indices of maxValue in result variable 
       } 

       else 
        continue; 

      } 
     } 

     return result; 
    } 
} 

我想我应该创建地点接受参数构造函数,但我不愿意,因为该指示并未说明如此。有没有其他方法可以做到这一点?由于

+0

是的,你可以添加一个参数化的构造函数并创建一个'Location'。我不认为这是不正确的。你应该与你的讲师确认:) – TheLostMind

+0

@TheLostMind是我认为是的,谢谢 –

回答

1

你的错误是,你正在使用static领域为Object

public static double maxValue; 
public static int row; 
public static int column; 

每次调用

public static Location locateLargest(double[][] a) 

你认为你正在创建一个新的Location对象不同maxValuerowcolumn,但由于这些字段是static,所以您只是重写类变量。
只需删除static修饰符。

+0

哦,是的,这是真的谢谢!实际上我试图找出是否有办法将“row”和“column”的值放入返回的“Location”实例中。但我只是意识到了我愚蠢的错误。我忘了,如果我在主方法中创建一个对象,我可以调用方法为“object.locateLargest”,只需使用“object.variable”来访问值。 –

相关问题