gpt4 book ai didi

java - 列联表

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

我正在努力寻找解决此问题的 Java 代码。首先,我处于初学者水平,这个问题对我来说很难回答。我知道这使用了二维数组,对吗?但是我在为这个问题编写 Java 代码时遇到问题。

问题是:

Write a Java program that

  1. queries a user for the number of rows and columns of a contingency table,
  2. read the data, row by row and
  3. displays the data in tabular form along with the row totals, column totals and grand total.

For example if the six data of 2x3 table are

1,3,6,7,9, and 8. the program displays these six numbers together with the appropriate totals as

1 3 6   | 10  
7 9 8 | 24
8 12 14 | 34

The character '|' is used to separate the data from the row totals

最佳答案

我首先建议您忘掉“数组”,多想想“类”。 Java 是一种面向对象的语言。将你想要的行为封装在一个类中。我们称它为 Tableau

你的类(class)至少需要四种不同的行为才能正确:

  1. 从流或某种阅读器(例如 PrintStreamFileInputStream)将值读入 Tableau
  2. 计算 Tableau 的行和列总和
  3. 将 Tableau 呈现为字符串。
  4. 将 Tableau 写入 OutputStream 或某种类型的 Writer。

计算机科学是将复杂的任务分解成更小、更易于管理的部分。这叫做“分解”。这是学习它的好机会。

所以这是一个开始:

package model;

public class Tableau {
private int numRows;
private int numCols;
private int[][] values;

public Tableau(int numRows, int numCols) {
if (numRows <= 0) throw new IllegalArgumentException("numRows must be positive");
if (numCols <= 0) throw new IllegalArgumentException("numCols must be positive");
this.numRows = numRows;
this.numCols = numCols;
this.values = new int[numRows+1][numCols+1];
}

// You add the rest
public String toString() {
StringBuilder builder = new StringBuilder();

return builder.toString();
}
}

关于java - 列联表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787846/

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