查找成绩并折算后输出

编写程序从键盘输入文件中的姓名和成绩,当输入的名字为noname时,表示结束。noname后面有一个名字,需要查找其成绩,并按照21%折算后输出。

输入样例:

Smith  67
Anderson  75
Lewis  83
Cook  58
David  96
noname
Lewis

输出样例:

17.43


方法一:

import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.Scanner;
public class Score{
	public static void main(String[] args){
		DecimalFormat df=new DecimalFormat("#.##");
		Scanner in=new Scanner(System.in);
		//泛型不能使用基本数据类型,可以使用基本数据类型的包装类来表示基本数据类型
		HashMap<String,Integer> student=new HashMap<String,Integer>();
		while(in.hasNext()){
			String name=in.next();
			if(name.equals("noname")){
				break;
			}
			int score=in.nextInt();
			student.put(name, score);
		}
		String find=in.next();
		if(student.containsKey(find)){
			int score1=student.get(find);
			System.out.println(df.format(score1*0.21));
		}
		else{
			System.out.println("Not found.");
		}
	}
}

方法二:

import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.Scanner;

public class Score {
	public static void main(String[] args) {
		HashMap<String,String> hp=new HashMap<String,String>();
		Scanner in=new Scanner(System.in);
		DecimalFormat df=new DecimalFormat("#.##");
		String name;
		String score;
		while(true){
			name=in.next();
			if(name.equals("noname")){
				break;
			}
			score=in.next();
			hp.put(name, score);
		}
		String find=in.next();
		if(hp.containsKey(find)){
			int f=Integer.parseInt(hp.get(find)); //将字符串类型转换为int型
			System.out.println(df.format(f*0.21));
		}
		else{
			System.out.println("Not found.");
		}
	}

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值