我已经使用了我的代码一段时间了,我被要求执行以下操作:
"名为ModifyPhonePrices()的静态方法。该方法的细节如下:
该方法接受3个参数:一个2维的手机阵列和两个 双重值。该方法还返回一个整数。
该方法将搜索整个阵列,寻找有价格的手机 匹配第二个参数,如果找到,该方法将取代价格 将值作为第3个参数传递的手机。"
我怎样才能创建一个既能查找对象(也就是Cellphone对象)和双值的方法。为什么我不需要两个不同的阵列?
public static double modifyCellPhone ( double x, double y)
那我明白了。困扰我的是在那里包括二维阵列。
为了清楚起见,这是我的代码:
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 :(得分:1)
这里有一些让您入门的骨干代码:
“名为ModifyPhonePrices()的静态方法。此方法的详细信息如下:
该方法接受3个参数:一个2维的手机阵列和两个双倍值。该方法还返回一个整数。
static int modifyCellPhone(CellPhone[][] cp, double x, double y)
{
该方法将搜索整个阵列,查找价格与第二个参数匹配的任何手机,如果找到,该方法将使用作为第三个参数传递的值替换该手机的价格。“ p>
// start a nested for loop on the array, and search
}
我不确定为什么你的阵列是二维的。也许你可以对此进行扩展,以便澄清我的答案。