如何在二维数组中放入一个字符串

时间:2015-06-28 18:07:23

标签: java arrays string multidimensional-array

我正在尝试编写一个轮询程序,该程序需要解决五个问题并将问题放在二维数组的行上。另外,我如何计算一个人评定问题的次数。例如,如果五个人给出五个等级,我将如何编写程序来计算评级并将其放在二维阵列上。

这些是说明:

编写一个简单的民意调查程序:

  • 允许用户将5个社会意识问题从1个(最不重要)评估为10个(最重要);

  • 选择对您很重要的五个原因(例如,政治问题,全球环境问题)。使用一个 - 维数组主题(String类型)存储五个原因; 要总结调查回复,请使用5行,10列二维数组响应(int类型):

  • 每个对应于topics数组中元素的行。 程序运行时,应该要求用户对每个问题进行评级。 (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();

1 个答案:

答案 0 :(得分:1)

这样的东西?:

public static final String[] ISSUES = {
    "Global Warming",
    "Earth Quakes",
    "Stopping war",
    "Equal Rights",
    "Curing Cancer",};

public static void main(String[] args) {
    Scanner console = new Scanner(System.in);
    Random rand = new Random();
    int pollings = rand.nextInt(9) + 5;
    int [][] rates= new int[pollings][ISSUES.length];
    for (int i = 0; i < pollings; i++) {
        System.out.println("Person" + i);
        System.out.println("Rate these issues from 1-10");
        for (int j = 0; j < ISSUES.length; j++) {
            System.out.println(ISSUES[j]);
            rates[i][j] = console.nextInt();
        }
    }


     // ADDED
    int minRating = Integer.MAX_VALUE;
    int maxRating = Integer.MIN_VALUE;
    int minRatingIndex = -1;
    int maxRatingIndex = -1;
    for (int i = 0; i < ISSUES.length; i++) {
        System.out.print(ISSUES[i]+":");
        int rating = 0;
        for (int j = 0; j < pollings; j++) {
            System.out.print("\t"+rates[j][i]);
            rating += rates[j][i];
        }
        double average = ((double)rating)/pollings;
        System.out.println("\tavr: "+average);
        if (rating < minRating ){
            minRating = rating;
            minRatingIndex = i;
        }
        if (rating > maxRating ){
            maxRating = rating;
            maxRatingIndex = i;
        }
    }
    System.out.println("Max points:\t"+ISSUES[maxRatingIndex]+":\t"+maxRating+" points");
    System.out.println("Min points:\t"+ISSUES[minRatingIndex]+":\t"+minRating+" points");

    System.out.println();
}