2015-04-16 4 views
-17

Я шел в мой код на некоторое время, и меня попросили сделать следующее:.статический метод выдает

«статический метод ModifyPhonePrices() Детали этого метода заключаются в следующем:

  • метод принимает 3 параметра:.. 2-мерного массива сотовых телефонов, а также два двойные значения метод также возвращает целое число

  • метод будет искать весь массив в поисках любого мобильного телефона с цена , который соответствует второму параметру, и если найден, метод заменит цену , что сотовый телефон со значением, переданным в качестве третьего параметра. "

Как мне создать метод, который будет искать объект (объект сотового телефона) и двойные значения. Разве мне не нужны два разных массива для этого?

public static double modifyCellPhone (double x, double y) 

Это, я понимаю. То, что меня озадачивает, включает в себя 2-мерный массив.

Для наглядности вот мой код:

import java.util.Random; 

class Cellphone { 

private String brand; 
private long serialNumber; 
private double Price; 

public Cellphone (String br, long sN, double Pr) 
{ 
    brand= br; 
    serialNumber = sN; 
    Price = Pr; 
} 
public Cellphone(Cellphone aCellphone) 
    { 
    this(aCellphone.getbrand(), aCellphone.getserialNumber(),  aCellphone.getPrice()); 
    } 
    public String getbrand() 
    { 
    return brand; 
    } 
    public long getserialNumber() 
    { 
    return serialNumber; 
    } 
    public double getPrice() 
    { 
    return Price; 
    } 
    public void setBrand(String cellphoneBrand) 
    { 

    //allows to set the brand of the cellphone 
    brand = cellphoneBrand; 
    } 
    public void setSerialNumber(long SN) 
    { 
    // Sets the Serial Number of the cellphone 

    serialNumber = SN; 
    } 
    public void setPrice(double Pr) 
    { 
    // Sets the price of the cellphone 

    Price = Pr; 
    } 
    public String toString() 
    { 
    return this.brand + ", " + this.serialNumber + " " + this.Price; 

    } 
    public boolean equals(Cellphone phone) 
    { 
    if (Price == phone.Price && brand.equals(phone)) 
     return true; 
    else 
     return false;} 
    public boolean equals2(Cellphone phone) 
    { 
    if (Price == phone.Price) 
    return true; 
    else 
     return false; 
    } 
    public boolean equals3(Cellphone phone) 
    { 
    if (brand.equals(phone)); 
    return true; 
    } 

} 
public class ModifyCellPhone { 
public static double ModifyPhonePrices (Cellphone[][], double x, double y) 
{ 
    return int r; 
} 
public static void main (String[] args) 
{  

    Cellphone[][] cellphoneArr = new Cellphone[10] [10]; 
    for (int i=0; i < cellphoneArr.length-1; i++) 
     { 
     for (int m=0; m < cellphoneArr[i].length; m++) 
     { 
      if (i % 3 == 0) 
      cellphoneArr[i][m]= new Cellphone("Samsung", 111111111 + (2 * (m+ i) +1), 500.4 + (m+ i)); 

      else if (i % 3 == 1) 
       cellphoneArr[i][m] = new Cellphone("LG", 111111111 + (2 * (m+ i)), 500.6 + (m+ i)); 

      else if (i % 3 == 2) 
       cellphoneArr[i][m] = new Cellphone("HTC", 11111111 + 2^(m+ i), 700 + (m+ i)); 
      } 

     } 

    for (int y=9; y<cellphoneArr.length; y++) 
     { 
     for (int n=0; n<cellphoneArr[y].length; n++) 
      { 
       cellphoneArr[y][n] = new Cellphone(cellphoneArr [y-7][n]); 
       } 
     } 


    Random generator = new Random(); 

     for (int i=0; i < cellphoneArr.length ; i++) 
     { 
     for (int m=0; m < cellphoneArr[i].length; m++) 
      { 
      double pick = generator.nextInt(199) + 100; 
      cellphoneArr[i][m].setPrice((int)pick); 
      } 
     } 


    for (int p = 0; p < cellphoneArr.length; p++) 
     { 

      // Loop and display sub-arrays. 
      for (int x = 0; x < cellphoneArr[p].length; x++) 
      { 
      System.out.print(cellphoneArr[p][x].getPrice() + " "); 
      } 
      System.out.println(" "); 
     } 



    } 
    } 

отредактированы для добавленного кода

+0

Нам нужно увидеть больше кода, чтобы даже начать отвечать на этот вопрос. – tier1

+1

Можете ли вы предоставить еще несколько кодов. Это помогает лучше понять ваш вопрос. – Ajit

+0

Нам нужен код для класса Cellphone по крайней мере и ваша попытка кода. –

ответ

1

Вот некоторые скелетные код, чтобы вы начали:

«статический метод ModifyPhonePrices() Подробности. из этого метода являются следующие:

Метод принимает 3 параметра: 2-мерный массив ячейки p hones и два двойных значения. Метод также возвращает целое число.

static int modifyCellPhone(CellPhone[][] cp, double x, double y) 
{ 

метод будет искать весь массив в поисках какой-либо мобильный телефон с ценой, которая соответствует 2-й параметр, и если он найден, метод заменит цену этого мобильного телефона с значением, переданным в качестве 3-го параметра.»

// start a nested for loop on the array, and search 

} 

Я не уверен, почему ваш массив является двумерным. может быть, вы можете расширить, что таким образом я могу прояснить мой ответ.

+0

Я добавил код, мои первоначальные опасения заключались в том, как создать статический метод, который может включать в себя как дубликаты, так и объекты, поскольку они являются двумя совершенно разными. – JSm

+0

@JSm, объясните мне, что вы пытаетесь сделать в своем основном методе, когда вы создаете 2-мерный массив для хранения сотовых телефонов. Почему 2-й? –

+0

, потому что меня попросили создать массив 10 x 10. Следовательно, 2-й. Мобильный телефон сотового телефонаArr [10] [10] = новый мобильный телефон должен создать 100 объектов, которые являются нулевыми, а мой цикл следующий, который инициализировал его – JSm

Смежные вопросы