博客
关于我
分子量(JAVA语言)
阅读量:127 次
发布时间:2019-02-27

本文共 872 字,大约阅读时间需要 2 分钟。

package 第三章习题;
/*
 * 给出一种物质的分子式(不带括号)求分子量。
 * 本题分子只包含4种原子,分别为C,H,O,N 
 * 分子量为分别为12.01,1.008,16.00,14.01(单位:g/mol)
 * 例如:C6H5OH 的分子量为 94.108g/mol
 */
import java.util.*;
public class 分子量 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
String s=in.next();
double sum=0.0;
int i=0;
while(i<s.length()){
sum+=f(c(s.charAt(i)), i, s);
i++;
}
System.out.println(sum);
}
private static double f(double d,int i,String s) {
// TODO Auto-generated method stub
int k=0;
double sum=0.0;
while(i<s.length()-1&&s.charAt(i+1)>'0'&&s.charAt(i+1)<='9')
{
k=k*10+s.charAt(i+1)-'0';
i++;
}
if(k==0) {
sum+=d;
}
else {
sum+=d*k;
}
return sum;
}
private static double c(char c) {
// TODO Auto-generated method stub
switch(c) {
case 'C':return 12.01;
case 'H':return 1.008;
case 'O':return 16.00;
case 'N':return 14.01;
}
return 0;
}
}

转载地址:http://zgdb.baihongyu.com/

你可能感兴趣的文章
NETSH WINSOCK RESET这条命令的含义和作用?
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
Netty事件注册机制深入解析
查看>>
Netty原理分析及实战(四)-客户端与服务端双向通信
查看>>
Netty客户端断线重连实现及问题思考
查看>>
Netty工作笔记0006---NIO的Buffer说明
查看>>
Netty工作笔记0007---NIO的三大核心组件关系
查看>>
Netty工作笔记0011---Channel应用案例2
查看>>
Netty工作笔记0013---Channel应用案例4Copy图片
查看>>
Netty工作笔记0014---Buffer类型化和只读
查看>>
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>
Netty工作笔记0024---SelectionKey API
查看>>
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0057---Netty群聊系统服务端
查看>>