[英]Java 2d array for loop
我試圖弄清楚如何做到這一點,以便如果用戶獲得5000點以上的積分,他們將獲得1000點積分。 實際上,它為每個人打印相同數量的點。 User1值:100、1000、1000、5000。User2值: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);
}`
The Total Button
`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);
}
}
}
}
將“ total”放入for循環中,以便為每個用戶更新:
total = (points[i][0] + points[i][1] + points[i][2] + points[i][3]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.