有道Java代码提不会做。有大神帮帮忙吗

3、现有电视商品价格精彩活动,活动的规则:随机出现一个商品名,用户猜测它的价值,如果在规定次数内猜对,便可获得此商品。模拟竞猜活动。运行效果如下图所示。提示:᠊... 3、现有电视商品价格精彩活动,活动的规则:随机出现一个商品名,用户猜测它的价值,如果在规定次数内猜对,便可获得此商品。模拟竞猜活动。运行效果如下图所示。提示: 定义类GuessMachine,编写它的initial()方法预定义商品信息,根据产生的随机数字,选定一款竞猜的商品。 编写GuessMachine类的guess()方法,如果猜测正确,返回“猜对了!”;如果偏大,返回“再小些!”;如果偏小,返回“再大些”。 编写测试类模拟竞猜。
我用对象数组把价格和商品信息存进去了,怎么输出判断不会写。。怎么才能把对象数组里面的的某样商品打印出来?然后又怎么判断价格猜多、猜少了。
展开
 我来答
胡研乱语
推荐于2018-03-22 · TA获得超过382个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:218万
展开全部
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

class Machine{
public String name;
public float money;
public Machine(String name, float money){
this.name = name;
this.money = money;
}
}

public class GuessMachine {
private ArrayList<Machine> list = null;
private Random random = null;
private Machine machine = null;
private int guessCount;

public GuessMachine(){
random = new Random();
initial();
}

public void initial(){
list = new ArrayList<Machine>();
list.add(new Machine("42寸液晶电视", 3000f));
list.add(new Machine("99寸大屏手机", 1999f));
list.add(new Machine("68寸Iphone手机", 990f));
}

public void guess(float money){
if (money < machine.money) {
System.out.println("再大点");
}else if (money > machine.money) {
System.out.println("再小点");
}else{
System.out.println("猜对了!");
action();
}
++guessCount;
if (guessCount == 5) {
System.out.println("猜的次数够了!");
action();
}
}

public void action(){
if (list!=null && random!=null) {
guessCount = 0;
machine = list.get(random.nextInt(list.size()));
System.out.println("猜猜“" + machine.name + "”的价格:");
}
}


public static void main(String[] args) {
GuessMachine gm = new GuessMachine();
gm.action();
Scanner sc=new Scanner(System.in);
for(int i = 0; i < 10; ++i){
gm.guess(sc.nextFloat());
}
System.out.println("活动结束!");
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式