【Java】基于分子式求分子量
生活随笔
收集整理的這篇文章主要介紹了
【Java】基于分子式求分子量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
給出一種至多只含 C、H、O、N 四種元素的有機物的分子式(不帶括號),求分子量,要求保留三位小數。
已知:C、H、O、N 的原子量分別為12.01, 1.008, 16.00, 14.01。
例如:C6H5OH的分子量為94.108,CH3COOH的分子量為60.052。
Java編程實現
import java.util.HashMap; import java.util.Map; import java.util.Scanner;public class Main {public static void main(String[] args) {Map<Character, Double> map = new HashMap<>(4);map.put('C', 12.01);map.put('H', 1.008);map.put('O', 16.00);map.put('N', 14.01);Scanner scanner = new Scanner(System.in);String formula = scanner.nextLine();scanner.close();int num = 0;double sum = 0;char[] chars = formula.toCharArray();char temp = chars[0];for (int i = 1; i < chars.length; i++) {char c = chars[i];if (c >= '0' && c <= '9') {num *= 10;num += c-'0';} else {if (num == 0) {sum += map.get(temp);} else {sum += map.get(temp)*num;}num = 0;temp = c;}}if (!formula.endsWith("\\d+")) {sum += map.get(temp);}System.out.printf("%.3f", sum);} }總結
以上是生活随笔為你收集整理的【Java】基于分子式求分子量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 详解Spring框架的依赖注入
- 下一篇: 漫谈实变函数