华为OD机考-货币单位换算-字符串(JAVA 2025B卷)
纯暴力解法
import java.util.*;
public class ExchangeMoney {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while(scanner.hasNextLine()){int count = Integer.parseInt(scanner.nextLine());List<String> strings = new ArrayList<>(count);for(int i=0;i<count;i++){strings.add(scanner.nextLine());}solve(strings);}}private static void solve(List<String> strings) {Integer sum =0;for (String s:strings){boolean fen = s.contains("fen");boolean cny = s.contains("CNY");boolean hkd = s.contains("HKD");boolean cents = s.contains("cents");boolean jpy = s.contains("JPY");boolean sen = s.contains("sen");boolean eur = s.contains("EUR");boolean eurocents = s.contains("eurocents");boolean gbp = s.contains("GBP");boolean pence = s.contains("pence");// CNYif(cny&&fen){//20CNY53fenString fen1 = s.split("fen")[0];String[] cnies = fen1.split("CNY");Double yuan = Double.parseDouble(cnies[0]);Double fentemp = Double.parseDouble(fen1.substring(cnies[0].length()+3));sum+= (int) (yuan*100+fentemp);}else if(cny){sum+= (int) Double.parseDouble(s.substring(0,s.length()-3))*100;}else if(fen){sum+=(int) Double.parseDouble(s.substring(0,s.length()-3));}// HKDif(hkd&¢s){//20HKD53centsString fen1 = s.split("cents")[0];String[] cnies = fen1.split("HKD");Double yuan = Double.parseDouble(cnies[0]);Double fentemp = Double.parseDouble(fen1.substring(cnies[0].length()+3));sum+= (int) (yuan/123 *100 *100+ fentemp/12300 *100 *100);}else if(hkd){sum+= (int) (Double.parseDouble(s.substring(0,s.length()-3))/123*100*100);}else if(cents){sum+= (int) (Double.parseDouble(s.substring(0,s.length()-3))/12300 *100 *100);}// JPYif(jpy&&sen){//20JPY53senString fen1 = s.split("sen")[0];String[] cnies = fen1.split("JPY");Double yuan = Double.parseDouble(cnies[0]);Double fentemp = Double.parseDouble(fen1.substring(cnies[0].length()+3));sum+= (int) (yuan/1825 *100 *100+fentemp/182500 * 100 *100);}else if(jpy){sum+= (int) (Double.parseDouble(s.substring(0,s.length()-3))/1825*100*100);}else if(sen){sum+= (int) (Double.parseDouble(s.substring(0,s.length()-3))/182500 *100 *100);}// EURif(eur&&eurocents){//20EUR53eurocentsString fen1 = s.split("eurocents")[0];String[] cnies = fen1.split("EUR");Double yuan = Double.parseDouble(cnies[0]);Double fentemp = Double.parseDouble(fen1.substring(cnies[0].length()+3));sum+= (int) (yuan/14*100*100+fentemp/1400 *100 *100);}else if(eur){sum+= (int) (Double.parseDouble(s.substring(0,s.length()-3))/14*100*100);}else if(eurocents){sum+= (int) (Double.parseDouble(s.substring(0,s.length()-3))/1400*100*100);}// GBPif(gbp&&pence){//20GBP53penceString fen1 = s.split("pence")[0];String[] cnies = fen1.split("GBP");Double yuan = Double.parseDouble(cnies[0]);Double fentemp = Double.parseDouble(fen1.substring(cnies[0].length()+3));sum+= (int) (yuan/12*100*100+fentemp/1200*100*100);}else if(gbp){sum+= (int) (Double.parseDouble(s.substring(0,s.length()-3))/12*100*100);}else if(pence){sum+= (int) (Double.parseDouble(s.substring(0,s.length()-3))/1200*100*100);}}System.out.println(sum);}
}