java题目 求大神改一下!!! 谢谢

小明喜欢苹果,小李喜欢西瓜,小东喜欢香蕉,小花喜欢葡萄现在有一个问答游戏,由老师猜猜他们每个人到底喜欢什么。游戏规则是:猜对了得两分,猜错了不得分,原始分是零分。一共有四... 小明喜欢苹果,小李喜欢西瓜,小东喜欢香蕉,小花喜欢葡萄
现在有一个问答游戏,由老师猜猜他们每个人到底喜欢什么。游戏规则是:猜对了得两分,猜错了不得分,原始分是零分。一共有四个问题(分别问每人一个问题)。每个问题有三种答题选择,第一种是说水果答人名,第二种是说人名答水果,第三种是放弃回答不得分。
(!不是随机问 是按顺序问的!)

(我知道逻辑,
我写的大概是这样 但是具体细节不是很清楚怎么去修改 具体二维数组的用法有错误的请指出 并帮忙改!!! 真心谢谢
public static void main(String[] args) {
int score = 0;
int i=0;
String sArray[ ][ ]={{"ming","apple"},{"li","xigua"},{"dong","banana"},{"hua","putao"}};
int j,k;
j=0;
k=0;
Scanner keyboardInput = new Scanner(System.in);
while (i>=0 && i<=4)
{
System.out.println( prompt1 );
int type = keyboardInput.nextInt();
System.out.println(type); // print out the type munber
if(type == 1)
{
System.out.println("水果名答人名"
+"\n" + sArray[j][1] + "? =>"); // 后加判断真假 然后加分 我不懂怎么写
String answer = keyboardInput.next();
if (answer.equals(sArray[j][1]))
{
score = score++;
}
}
else if(type == 2)
{
System.out.println("人名答水果"
+"\n" + sArray[1][k] + "? =>"); //后加判断真假 然后加分 我不懂怎么写
String answer = keyboardInput.next();
if (answer.equals(sArray[0][k]))
{
score = score++;
}
}
else
{
}
i++;
j++;
k++;
}
System.out.println( "\nBye. Your score is " + score );
}
}
展开
 我来答
远湖榆林
2014-09-23
知道答主
回答量:20
采纳率:0%
帮助的人:11.8万
展开全部
package aaa;
public class Person {
private String name;
private String like;
private int score;
public Person(){

}

public Person(String name, String like, int score) {
super();
this.name = name;
this.like = like;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLike() {
return like;
}
public void setLike(String like) {
this.like = like;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}

package aaa;
import java.util.Scanner;
public class Index {
Person p1;
Person p2;
Person p3;
Person p4;
public static void main(String[] args) {
Index in = new Index();
in.init();
in.start();
in.print();
}
private void print() {
System.out.println(p1.getName()+"得分"+p1.getScore());
System.out.println(p2.getName()+"得分"+p2.getScore());
System.out.println(p3.getName()+"得分"+p3.getScore());
System.out.println(p4.getName()+"得分"+p4.getScore());

}
private void start() {
System.out.println("开始答题");
int i = 1;
while (i <= 4) {
System.out.println("请选择答题方式:1.水果答人,2,人答水果,3。放弃");
boolean flag = true;
int m = 1;
do {
Scanner keyboardInput = new Scanner(System.in);
try {
m = keyboardInput.nextInt();
flag = false;
} catch (Exception e) {
System.out.println("请重新输入");
flag = true;
}
} while (flag);
switch (m) {
case 1:
switch (i) {
case 1:
System.out.println("谁喜欢" + p1.getLike());
Scanner keyboardInput = new Scanner(System.in);
if(keyboardInput.next().equals(p1.getName())){
p1.setScore(p1.getScore()+2);
}
break;
case 2:
System.out.println("谁喜欢" + p2.getLike());
Scanner keyboardInput2 = new Scanner(System.in);
if(keyboardInput2.next().equals(p2.getName())){
p2.setScore(p2.getScore()+2);
}
break;
case 3:
System.out.println("谁喜欢" + p3.getLike());
Scanner keyboardInput3 = new Scanner(System.in);
if(keyboardInput3.next().equals(p3.getName())){
p3.setScore(p3.getScore()+2);
}
break;
case 4:
System.out.println("谁喜欢" + p4.getLike());
Scanner keyboardInput4 = new Scanner(System.in);
if(keyboardInput4.next().equals(p4.getName())){
p4.setScore(p4.getScore()+2);
}
break;
default:
break;
}

break;
case 2:
switch (i) {
case 1:
System.out.println(p1.getName()+"喜欢什么?");
Scanner keyboardInput = new Scanner(System.in);
if(keyboardInput.next().equals(p1.getLike())){
p1.setScore(p1.getScore()+2);
}
break;
case 2:
System.out.println(p2.getName()+"喜欢什么?");
Scanner keyboardInput2 = new Scanner(System.in);
if(keyboardInput2.next().equals(p2.getLike())){
p2.setScore(p2.getScore()+2);
}
break;
case 3:
System.out.println(p3.getName()+"喜欢什么?");
Scanner keyboardInput3 = new Scanner(System.in);
if(keyboardInput3.next().equals(p3.getLike())){
p3.setScore(p3.getScore()+2);
}
break;
case 4:
System.out.println(p4.getName()+"喜欢什么?");
Scanner keyboardInput4 = new Scanner(System.in);
if(keyboardInput4.next().equals(p4.getLike())){
p4.setScore(p4.getScore()+2);
}
break;
default:
break;
}
break;
case 3:
break;
default:
break;
}
i++;
}
}
private void init() {
p1 = new Person("xiaoming", "apple", 0);
p2 = new Person("xiaoli", "xigua", 0);
p3 = new Person("xiaodong", "banana", 0);
p4 = new Person("xiaohua", "putao", 0);
}
}
simplelike
推荐于2016-05-07 · TA获得超过325个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:141万
展开全部
package com.test;

import java.util.Scanner;
public class Baiduzhidao {
//总分
public static int sumScore = 0;
public static void main (String [] args){
//定义每题得分
int score = 2;
//三种答题方式
String[][] answerArr = {{"1","说水果答名"},{"2","说人名答水果"},{"3","放弃不答"}};
//四个题目/答案
String[][] questionArr = {{"小明","苹果"},{"小李","西瓜"},{"小东","香蕉"},{"小花","葡萄"}};
//输入器
Scanner scan = new Scanner(System.in);
System.out.println("答题开始……");
for (int i = 0; i < questionArr.length; i++) {
System.out.print("请选择第"+(i+1)+"题的答题方式:\t");
listAnswerMethod(answerArr);
int method = scan.nextInt();
switch (method) {
case 1:
System.out.println("问题:"+questionArr[i][1]);
System.out.print("答案:");
String ans = scan.next();
System.out.println(ans);
if(questionArr[i][0].equals(ans)){
sumScore += score;
System.out.println("回答正确,得两分");
}else{
System.out.println("回答错误,不得分");
}
break;
case 2:
System.out.println("问题:"+questionArr[i][0]);
System.out.print("答案:");
String ans1 = scan.next();
System.out.println(ans1);
if(questionArr[i][1].equals(ans1)){
sumScore += score;
System.out.println("回答正确,得两分");
}else{
System.out.println("回答错误,不得分");
}
break;
//选择其他均当做放弃答题
default:
System.out.println("放弃答题,不得分!");
break;
}
}
scan.close();
System.out.println("答题完成,总分为:"+sumScore);
}

/**
 * 列出所有的答题方式
 * @param answerArr
 */
public static void listAnswerMethod(String[][] answerArr){
for (String[] answer : answerArr) {
System.out.print(answer[0]+":"+answer[1]+"\t");
}
System.out.println();
}
}

//控制台输出:

答题开始……

请选择第1题的答题方式: 1:说水果答名 2:说人名答水果 3:放弃不答

1

问题:苹果

答案:小明

小明

回答正确,得两分

请选择第2题的答题方式: 1:说水果答名 2:说人名答水果 3:放弃不答

2

问题:小李

答案:狗屎

狗屎

回答错误,不得分

请选择第3题的答题方式: 1:说水果答名 2:说人名答水果 3:放弃不答

1

问题:香蕉

答案:小东

小东

回答正确,得两分

请选择第4题的答题方式: 1:说水果答名 2:说人名答水果 3:放弃不答

3

放弃答题,不得分!

答题完成,总分为:4



是不是要的这效果???

更多追问追答
追问
对的!就是这种效果
不过有多一个小要求 ,如果我要加一句 游戏结束了, 还想再玩一次吗?然后回答yes/no 来决定程序是否重头再来一次怎么加?
2.不用case和switch可以吗?我不怕复杂。主要是switch老师没教。
因为老师的作业要求是用while.if语句。!  !!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dgddssdhh
2014-09-23 · TA获得超过768个赞
知道小有建树答主
回答量:1455
采纳率:53%
帮助的人:505万
展开全部
不用数组 用map什么的不好么
追问
我不会map
能不能就我这种数组的做法改一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式