Java 二维数组 for 循环

标签 java if-statement for-loop multidimensional-array

我正在尝试弄清楚如何做到这一点,以便用户拥有超过 5000 分 他们将获得额外的 1000 积分。事实上,它为每个人打印相同数量的分数。 用户 1 值:100、1000、1000、5000。 用户2值:1,1,1,1。

当前值:

用户1的总积分为7100 用户2,总积分为7100 期望值:

用户 1 的总积分为 7100 奖金:1000。 用户2的总积分为4。

`public class AirlinePointsView extends FrameView {
    String[][] name = new String[10][2];
    Integer[][] points = new Integer[10][4];
    int rowNumber = 0;
    int userNumber = 0;
    public AirlinePointsView(SingleFrameApplication app) {
    }

    private void btnAddMouseClicked(java.awt.event.MouseEvent evt) {                                    
        name[rowNumber][0] = firstName.getText();
        name[rowNumber][1] = lastName.getText();

        points[rowNumber][0] = Integer.parseInt(week1.getText());
        points[rowNumber][1] = Integer.parseInt(week2.getText());
        points[rowNumber][2] = Integer.parseInt(week3.getText());
        points[rowNumber][3] = Integer.parseInt(week4.getText());
        rowNumber ++;
    }                                   

    private void btnListMouseClicked(java.awt.event.MouseEvent evt) {                                     
        String outputStr = "";
        for(int i=0; i < rowNumber; i++){
            outputStr += name[i][0] + " " + name[i][1] + " " +  points[i][0] + " " + points[i][1] + " " + points[i][2] + " " + points[i][3] + "" + "\n";
        }outPut.setText(outputStr);
    }`                                   

总按钮

`private void btnTotalMouseClicked(java.awt.event.MouseEvent evt) {                                      
        String userTotal = "";
        String userBonus = "";
        int total = (points[0][0] + points[0][1] + points[0][2] + points[0][3]);
        int bonus = 1000;
        for(int i=0; i < rowNumber; i++){
            userTotal += name[i][0] + "'s Total Points are: " + total + "\n";
            userBonus += name[i][0] + "'s Total Points are: " + total + " Bonus: " + bonus + "\n";
            if(total > 5000){
                outPut.setText(userTotal);
            }else{
                outPut.setText(userBonus);
            }
        }
    }                                     


}`

最佳答案

您只是计算第 0 行的总计。

试试这个:

private void btnTotalMouseClicked(java.awt.event.MouseEvent evt) {                                      
        String userTotal = "";
        String userBonus = "";

        int bonus = 1000;
        for(int i=0; i < rowNumber; i++){
            int total = (points[i][0] + points[i][1] + points[i][2] + points[i][3]);
            userTotal += name[i][0] + "'s Total Points are: " + total + "\n";
            userBonus += name[i][0] + "'s Total Points are: " + total + " Bonus: " + bonus + "\n";
                if(total > 5000){
                    outPut.setText(userBonus);                        
                }else{
                    outPut.setText(userTotal);
                }
        }
    }                                     

}

关于Java 二维数组 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23482441/

相关文章:

java - 应用程序因向 FirebaseDatabase.getReference() 传递空值而崩溃

JavaScript 简写 if 语句,没有 else 部分

java - 我试图使用这个 "If else"条件而不使用 "System...println"

linux - 如何在shell脚本中收集变量中的多行

java - 为什么根据 java 导入和静态导入序列顺序会得到不同的编译结果?

java - 将 Java 1.8 用于 Android 项目

java - String.split ("(?<=\\G..)")在 Windows 和 Android 上分割不同

c++ - 在开关盒内阻塞

C:填充矩阵

python - 根据 Python 列表的长度更改 for 循环的范围