【发布时间】:2015-06-28 18:07:22
【问题描述】:
我正在尝试编写一个轮询程序,该程序需要五个问题并将问题放在二维数组的行上。另外,我如何让程序计算一个人对该问题的评价次数。例如,如果五个人给出了 5 分,我将如何编写程序来计算评分并将其放在 2d 数组上。
这些是说明:
编写一个简单的轮询程序:
允许用户从 1(最不重要)到 10(最重要)对五个社会意识问题进行评分;
选择五个对您很重要的原因(例如,政治问题、全球环境问题)。使用一个 存储五个原因的维度数组主题(字符串类型); 要总结调查响应,请使用 5 行 10 列的二维数组响应(int 类型):
- 每一行对应于主题数组中的一个元素。 当程序运行时,它应该要求用户对每个问题进行评分。 (5, 13) 范围内的人对调查做出了回应。然后让程序显示结果摘要,包括:
a) 一份表格报告,左侧有五个主题,顶部有 10 个评分,每列列出每个主题收到的评分数。
b) 在每一行的右侧,显示该问题的平均评分。
c) 哪个问题的总分最高?显示问题和总分。 d) 哪个问题的总分最低?显示问题和总分。
这是我的代码:
import java.util.Arrays;
import java.util.*;
public class Polling {
/**
* @param args the command line arguments
*/
public static String[] issues=new String[20];
public static void main(String[] args) {
Scanner console=new Scanner(System.in);
issues[0]="Global Warming";
issues[1]="Earth Quakes";
issues[2]="Stopping war";
issues [3]="Equal Rights";
issues[4]="Curing Cancer";
int[][] polling =new int[5][10];
Random rand=new Random();
int random=rand.nextInt(9)+5;
int poll=0;
String polling2=Arrays.toString(polling);
for(int i=1;i<random;i++){
System.out.println("Person"+i);
System.out.println("Rate these issues from 1-10");
System.out.println(issues[0]);
int zero=console.nextInt();
System.out.println(issues[1]);
int one=console.nextInt();
System.out.println(issues[2]);
int two=console.nextInt();
System.out.println(issues[3]);
int three=console.nextInt();
System.out.println(issues[4]);
int four=console.nextInt();
}
System.out.println();
【问题讨论】:
-
您不能将
String放入int数组中。只需使用内部逻辑来假设polling数组的索引 0 代表问题 [0] 的评级,polling数组的索引 2 代表问题 [1] 的评级,依此类推。在总结时,您可以通过引用issues数组来显示索引 0..4 的实际字符串内容。这是作业吗? -
是的,我很难弄清楚这一点
标签: java arrays string multidimensional-array