HDOJ1985 Conversions

Conversions

Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2432    Accepted Submission(s): 1409


Problem Description
Conversion between the metric and English measurement systems is relatively simple. Often, it involves either multiplying or dividing by a constant. You must write a program that converts between the following units:

 

Input
The first line of input contains a single integer N, (1 ≤ N ≤ 1000) which is the number of datasets that follow.
Each dataset consists of a single line of input containing a floating point (double precision) number, a space and the unit specification for the measurement to be converted. The unit specification is one of kg, lb, l, or g referring to kilograms, pounds, liters and gallons respectively.
 

Output
For each dataset, you should generate one line of output with the following values: The dataset number as a decimal integer (start counting at one), a space, and the appropriately converted value rounded to 4 decimal places, a space and the unit specification for the converted value.

 

Sample Input
  
  
5 1 kg 2 l 7 lb 3.5 g 0 l
 

Sample Output
  
  
1 2.2046 lb 2 0.5284 g 3 3.1752 kg 4 13.2489 l 5 0.0000 g
  就是进行单位的转换,kg->lb ,lb->kg ,l->g ,g->l
import java.util.Scanner;

public class P1985 {
	private static Scanner  scanner;
	public static void main(String[] args) {
		scanner = new Scanner(System.in);
		int cases = scanner.nextInt();
		int i = 1;
		while(cases-->0){
			//kg <--> lb
			//l <--> g
			
			double n = scanner.nextDouble();
			String u = scanner.next();
			double res = 0;
			if(u.equals("kg")){
				res = n*2.2046;
				System.out.printf("%d %.4f lb",i,res);
			}else if(u.equals("lb")){
				res = n*0.4536;
				System.out.printf("%d %.4f kg",i,res);
			}else if(u.equals("l")){
				res = n*0.2642;
				System.out.printf("%d %.4f g",i,res);
			}else{//g
				res = n*3.7854;
				System.out.printf("%d %.4f l",i,res);
			}
			System.out.println();
			i++;
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值