我怎样才能打印列的总和?
How can I print the sum of the columns as well?
package Matrix;
import java.util.Scanner;
public class Matrix
{
public static void main(String[] args) {
System.out.print("Enter 2D array size : ");
Scanner sc=new Scanner(System.in);
int rows=sc.nextInt();
int columns=sc.nextInt();
System.out.println("Enter array elements : ");
int twoD[][]=new int[rows][columns];
for(int i=0; i<rows;i++)
{
for(int j=0; j<columns;j++)
{
twoD[i][j]=sc.nextInt();
}
}
System.out.print("\n \n");
for(int []x:twoD){
for(int y:x){
System.out.print(y+" ");
}
System.out.println();
}
System.out.println("");
for(int i=0;i<columns;i++) {
int sum = 0;
for(int j=0;j<rows;j++)
{
sum=sum+twoD[i][j];
}
System.out.print(sum+" ");
sum=0;
System.out.print(" ");
}
}
}
how can I print the sum of the columns as well?
here is what I have so far
My expected output must be :
5 9 8 = 22
3 8 2 = 13
4 3 9 = 16
___________
12 20 19
如何打印列的总和?这是我到目前为止所拥有的,而且我的代码似乎也有问题。希望您能够帮助我。我已经为此工作好几天了,我是 java.
的新手
如何打印列的总和?这是我到目前为止所拥有的,而且我的代码似乎也有问题。希望您能够帮助我。我已经为此工作好几天了,我是 java.
的新手
您已将行中的元素相加。现在添加列而不是尝试更改 for 循环中的行更改列以添加。
改变
for(int i=0;i<columns;i++) {
int sum = 0;
for(int j=0;j<rows;j++)
{
sum=sum+twoD[i][j];
}
System.out.print(sum+" ");
sum=0;
System.out.print(" ");
到
for(int i=0;i<columns;i++) {
int sum = 0;
for(int j=0;j<rows;j++)
{
sum+=twoD[j][i];
}
System.out.print(sum+" ");
System.out.print(" ");
因此,您将拥有一个对每一列都有效运行的循环,并且在开始时总和为 0,在遍历每一列结束时总和为准确,剩下的就是打印出来.
如果您想在 JOption 中实现它而不是在 Java 中使用 Scanner,则必须使用此导入语句导入 JOption 库
import javax.swing.JOptionPane;
然后你将输入的2D Array Size 改为使用showInputDialog 的方法。请记住,showInputDialog returns 是一个字符串,因此您需要使用 parseInt 将其转换为整数。这是一个例子
int rows;
rows = Integer.parseInt(JOptionPane.showInputDialog("Enter 2D Array
Rows : "));
int columns;
columns = Integer.parseInt(JOptionPane.showInputDialog("Enter 2D
Array Columns : "));
int twoD[][]=new int[rows][columns];
接下来改变Array的输入也使用这个方法。像这样
for(int i=0; i<rows;i++)
{
for(int j=0; j<columns;j++)
{
twoD[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Enter
Array Elements for Row "+(i+1)+" Column "+(j+1)));
}
}
导致最终代码为
import javax.swing.JOptionPane;
public class Matrix{
public static void main(String[] args) {
int rows;
rows = Integer.parseInt(JOptionPane.showInputDialog("Enter 2D
Array Rows : "));
int columns;
columns = Integer.parseInt(JOptionPane.showInputDialog("Enter 2D
Array Columns : "));
int twoD[][]=new int[rows][columns];
for(int i=0; i<rows;i++)
{
for(int j=0; j<columns;j++)
{
twoD[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Enter
Array Elements for Row "+(i+1)+" Column "+(j+1)));
}
}
System.out.print("\n \n");
for(int []x:twoD){
int cSum = 0;
for(int y:x){
System.out.print(y+" ");
cSum+=y;
}
System.out.println(" = "+cSum);
}
System.out.println("");
System.out.println("___________");
for(int i=0;i<columns;i++) {
int sum = 0;
for(int j=0;j<rows;j++)
{
sum+=twoD[j][i];
}
System.out.print(sum+" ");
System.out.print(" ");
}
}
}
package Matrix;
import java.util.Scanner;
public class Matrix
{
public static void main(String[] args) {
System.out.print("Enter 2D array size : ");
Scanner sc=new Scanner(System.in);
int rows=sc.nextInt();
int columns=sc.nextInt();
System.out.println("Enter array elements : ");
int twoD[][]=new int[rows][columns];
for(int i=0; i<rows;i++)
{
for(int j=0; j<columns;j++)
{
twoD[i][j]=sc.nextInt();
}
}
System.out.print("\n \n");
for(int []x:twoD){
for(int y:x){
System.out.print(y+" ");
}
System.out.println();
}
System.out.println("");
for(int i=0;i<columns;i++) {
int sum = 0;
for(int j=0;j<rows;j++)
{
sum=sum+twoD[i][j];
}
System.out.print(sum+" ");
sum=0;
System.out.print(" ");
}
}
}
how can I print the sum of the columns as well?
here is what I have so far
My expected output must be :
5 9 8 = 22
3 8 2 = 13
4 3 9 = 16
___________
12 20 19
如何打印列的总和?这是我到目前为止所拥有的,而且我的代码似乎也有问题。希望您能够帮助我。我已经为此工作好几天了,我是 java.
的新手如何打印列的总和?这是我到目前为止所拥有的,而且我的代码似乎也有问题。希望您能够帮助我。我已经为此工作好几天了,我是 java.
的新手您已将行中的元素相加。现在添加列而不是尝试更改 for 循环中的行更改列以添加。
改变
for(int i=0;i<columns;i++) {
int sum = 0;
for(int j=0;j<rows;j++)
{
sum=sum+twoD[i][j];
}
System.out.print(sum+" ");
sum=0;
System.out.print(" ");
到
for(int i=0;i<columns;i++) {
int sum = 0;
for(int j=0;j<rows;j++)
{
sum+=twoD[j][i];
}
System.out.print(sum+" ");
System.out.print(" ");
因此,您将拥有一个对每一列都有效运行的循环,并且在开始时总和为 0,在遍历每一列结束时总和为准确,剩下的就是打印出来.
如果您想在 JOption 中实现它而不是在 Java 中使用 Scanner,则必须使用此导入语句导入 JOption 库
import javax.swing.JOptionPane;
然后你将输入的2D Array Size 改为使用showInputDialog 的方法。请记住,showInputDialog returns 是一个字符串,因此您需要使用 parseInt 将其转换为整数。这是一个例子
int rows;
rows = Integer.parseInt(JOptionPane.showInputDialog("Enter 2D Array
Rows : "));
int columns;
columns = Integer.parseInt(JOptionPane.showInputDialog("Enter 2D
Array Columns : "));
int twoD[][]=new int[rows][columns];
接下来改变Array的输入也使用这个方法。像这样
for(int i=0; i<rows;i++)
{
for(int j=0; j<columns;j++)
{
twoD[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Enter
Array Elements for Row "+(i+1)+" Column "+(j+1)));
}
}
导致最终代码为
import javax.swing.JOptionPane;
public class Matrix{
public static void main(String[] args) {
int rows;
rows = Integer.parseInt(JOptionPane.showInputDialog("Enter 2D
Array Rows : "));
int columns;
columns = Integer.parseInt(JOptionPane.showInputDialog("Enter 2D
Array Columns : "));
int twoD[][]=new int[rows][columns];
for(int i=0; i<rows;i++)
{
for(int j=0; j<columns;j++)
{
twoD[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Enter
Array Elements for Row "+(i+1)+" Column "+(j+1)));
}
}
System.out.print("\n \n");
for(int []x:twoD){
int cSum = 0;
for(int y:x){
System.out.print(y+" ");
cSum+=y;
}
System.out.println(" = "+cSum);
}
System.out.println("");
System.out.println("___________");
for(int i=0;i<columns;i++) {
int sum = 0;
for(int j=0;j<rows;j++)
{
sum+=twoD[j][i];
}
System.out.print(sum+" ");
System.out.print(" ");
}
}
}