zoukankan      html  css  js  c++  java
  • 输入输出流:实验1

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.Reader;
    import java.io.Writer;
    import java.util.InputMismatchException;
    import java.util.Scanner;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.File;
    import java.io.IOException;
    
    class Fenxi{
    	public static double getTotalScore(String s) {
    		Scanner scanner = new Scanner(s);
    		/*一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。
    		Scanner(s)产生从指定字符串扫描的值*/
    		scanner.useDelimiter("[^0123456789.]+");
    		//将此扫描仪的分隔模式设置为从指定的String构造的模式
    		double totalScore = 0;
    		while(scanner.hasNext()) {
    			//扫描仪判断有没有下一个元素
    			try {
    				double score = scanner.nextDouble();
    				/*将输入的下一个标记扫描为double。
    				如果下一个令牌不能转换为有效的double。
    				则抛出InputMismatchException异常*/
    				totalScore += score;
    			}
    			catch(InputMismatchException exp) {
    			//由Scanner抛出,表示检索到的令牌与预期类型的模式不匹配
    			//或超出预期类型范围。
    				String t = scanner.next();
    				//返回扫描仪的下一个标记或令牌
    			}
    		}
    		return totalScore;
    	}
    }
    
    public class main_class {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		File socre = new File("C:\Users\asus\Desktop\score.txt");
    		File socreA =
    				new File("socreAnalysis.txt"); 
    		try {
    			Reader in = new FileReader(socre);
    			Writer out = new FileWriter(socreA);
    			BufferedReader bufreader = new BufferedReader(in);
    			BufferedWriter bufwriter = new BufferedWriter(out);
    			String buf = null;
    			while((buf=bufreader.readLine())!=null) {
    				buf+=" 总分:"+Fenxi.getTotalScore(buf);
    				bufwriter.write(buf);
    				bufwriter.newLine();
    			}
    			bufreader.close();
    			bufwriter.close();
    			in.close();
    			out.close();
    		}
    		catch(IOException e) {
    			System.out.println(e.toString());
    		}
    	}
    
    }

  • 相关阅读:
    NPM使用技巧
    重构老项目所悟
    Angular2开发笔记
    nodejs项目mysql使用sequelize支持存储emoji
    [原创]django+ldap+memcache实现单点登录+统一认证
    [原创]django+ldap实现单点登录(装饰器和缓存)
    [原创]django+ldap实现统一认证部分二(python-ldap实践)
    [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)
    ldap部署相关,ldap双机LAM配置管理ldap备份还原
    通过pycharm使用git[图文详解]
  • 原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9732328.html
Copyright © 2011-2022 走看看