首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 代碼規範檢查:找出 11 個語法與風格錯誤

     編輯:程式設計綜合問答

原始代碼

Package com.jxlife;
import java.util.*;
import java.math*;
import com.jxlife.pa.policy;
import com.jxlife.pa.policyproduct;
impost com.jxlife.pa.policyDAO;

public class ICalculatepremium {
    public ICalculatepremium( ) { }
    Public bigDecimal calculatepremium(Long policyId,string calculateType) {
        BigDecimal a = nu11;
        Policy policy = PolicyDAO.load.longvalue( ) );
        for (int I =θ; i <= policy.getproducts( ).size( ); i++ ) {
            Policyproduct p =policy.getProducts( ).get(i);
            a=a.add(p.getPremium( ) );
        }
        Return a;
    }
}

11 個錯誤詳解

  1. Package → package (小寫)
  2. import java.math* → import java.math.* (缺點)
  3. impost → import (拼寫錯誤)
  4. Public → public (小寫)
  5. bigDecimal → BigDecimal (類名大寫)
  6. string → String (類名大寫)
  7. nu11 → null (數字 1 誤寫)
  8. PolicyDAO.load.longvalue() → 應為 PolicyDAO.load(policyId) 或類似,`longValue()` 是 `Long` 方法,且括號錯誤
  9. int I = θ → int i = 0 (希臘字母 θ 非 0,變數名慣用小寫)
  10. i <= list.size() → i < list.size() (避免越界),且 `size()` 應提取至迴圈外
  11. Return → return (小寫)

修正後代碼

package com.jxlife;

import java.util.*;
import java.math.BigDecimal;
import com.jxlife.pa.Policy;
import com.jxlife.pa.PolicyProduct;
import com.jxlife.pa.PolicyDAO;

public class PremiumCalculator { // 類名去掉 I 前綴,語意更清晰
    public BigDecimal calculatePremium(Long policyId, String calculateType) {
        BigDecimal total = BigDecimal.ZERO;
        Policy policy = PolicyDAO.load(policyId);
        if (policy == null) return total;

        List<PolicyProduct> products = policy.getProducts();
        for (PolicyProduct p : products) { // 增強 for 迴圈
            if (p.getPremium() != null) {
                total = total.add(p.getPremium());
            }
        }
        return total;
    }
}

額外建議

  • 類名 `ICalculatepremium` 以 `I` 開頭易被誤認為介面,建議改為 `PremiumCalculator`。
  • 使用增強 for 迴圈或 Stream API (`products.stream().map(PolicyProduct::getPremium).reduce(BigDecimal.ZERO, BigDecimal::add)`)。
  • 參數 `calculateType` 未使用,若無用請移除。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved