gpt4 book ai didi

java - 如何构建具有多个变量的随机对象?

转载 作者:行者123 更新时间:2023-11-30 08:53:08 25 4
gpt4 key购买 nike

这是我的主程序。我在这里想要实现的是每个“耳机”设置都具有随机生成的颜色和制造商。目前程序运行时,除了我预设的变量外,所有变量都是一样的。

package testheadphones;

import java.util.Random;

public class TestHeadPhones {



public static void main(String[] args) {

String[] manufacturers = {"Skullcandy", "Klipsch", "Grado", "Shure",
"Bose", "Beats", "Sony"};
String[] colors = {"blue", "black", "green", "red", "purple", "pink",
"white", "orange", "yellow"};



Random random = new Random();
int randColor = random.nextInt(2);
String color = colors[randColor];
int randMan = random.nextInt(2);
String manufacturer = manufacturers[randMan];


//Build three headphone sets.
//Each set is encased in "{}" just for organization
HeadPhones set1 = new HeadPhones();{
set1.setIsPluggedIn(true);
set1.getManufacturer();
set1.setManufacturer(manufacturer);
set1.getVolume();
set1.setVolume(2);
set1.getColor();
set1.setColor(color);
}

HeadPhones set2 = new HeadPhones();{
set2.setIsPluggedIn(true);
set2.getManufacturer();
set2.setManufacturer(manufacturer);
set2.getVolume();
set2.setVolume(1);
set2.getColor();
set2.setColor(color);
}

HeadPhones set3 = new HeadPhones();{
set3.setIsPluggedIn(true);
set3.getManufacturer();
set3.setManufacturer(manufacturer);
set3.getVolume();
set3.setVolume(3);
set3.getColor();
set3.setColor(color);
}

System.out.println(set1.toString());
System.out.println();
System.out.println(set2.toString());
System.out.println();
System.out.println(set3.toString());

}

}

这是我的类(class)文件。

    package testheadphones;

import java.util.Random;

public class HeadPhones {

//Constant Declarations
public static final int LOW = 1;
public static final int MEDIUM = 2;
public static final int HIGH = 3;

//Private Declarations
private int volume = MEDIUM;
private boolean pluggedIn = false;
private String manufacturer = null;
private String color = null;

Random random = new Random();

//Default Constructor
public void HeadPhones (int volume, String manufacturer, String Color){
pluggedIn = false;
manufacturer = "Sony";
color = "red";
volume = MEDIUM;
}

//Getter and Setter
public int getVolume(){
return volume;
}
public void setVolume(int volume){
this.volume = volume;
}
public String getManufacturer(){
return manufacturer;
}
public void setManufacturer(String manufacturer){
this.manufacturer = manufacturer;
}
public boolean getIsPluggedIn(){
return pluggedIn;
}
public void setIsPluggedIn(boolean pluggedIn){
this.pluggedIn = pluggedIn;
}
public String getColor(){
return color;
}
public void setColor(String color){
this.color = color;
}

public String toString(){
String plugIn = this.pluggedIn == true ? "plugged in. " : "not plugged"
+ " in. ";

String earBuds = "Your headphones are " + plugIn + "They are: " +
this.color + " " + this.manufacturer + " and are turned up to "
+ this.volume;

return earBuds;
}

}

最佳答案

由于问题不清楚,我会尝试了解您想要什么。

我想你想在整个数组中找到一个随机元素,而不仅仅是前两个元素:random.nextInt(colors.length);random.nextInt(manufacturers. length); 而不是 random.nextInt(colors.length);

您创建一个整数并将其用于 3 个耳机。您可能想为每款耳机选择一种新颜色和新制造商。然后将 setX.setManufacturer(manufacturer);setX.setColor(color); 替换为:

setX.setManufacturer(manufacturers[random.nextInt(manufacturers.length)]);
setX.setColor(colors[random.nextInt(colors.length)]);

关于java - 如何构建具有多个变量的随机对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29879677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com