算法第四版1.1.21

编写一段程序,从标准输入按行读取数据,其中每行都包含一个名字和两个整数。然后用printf() 打印一张表格,每行的若干列数据包括名字、两个整数和第一个整数除以第二个整数的结果,精确到小数点后三位。可以用这种程序将棒球球手的击球命中率或者学生的考试分数制成表格。

package xixi;

import edu.princeton.cs.algs4.StdOut;
import edu.princeton.cs.algs4.StdIn;
public class en {
public static void main(String[] args) {
int M=0;
int i=3;
int j;
String []a=new String[i];
while(M<i)
a[M++]=StdIn.readLine();
for(j=0;j<a.length;j++)
{String[]b=a[j].split("\\s+");
double temp=Double.parseDouble(b[1])/Double.parseDouble(b[2]);
StdOut.printf("%s    %s    %s    %.3f\n",b[0],b[1],b[2],temp);}
}

}

原文借鉴:http://www.bubuko.com/infodetail-660231.html


当中涉及的不理解的知识点:正则表达式、 

Double.parseDouble()

split
public String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串。

然后就要明确正则表达式的含义了:
\\s表示 空格,回车,换行等空白符,
+号表示一个或多个的意思,
原文:https://zhidao.baidu.com/question/79107483.html
更加详细的参见:http://www.cnblogs.com/mingforyou/archive/2013/09/03/3299569.html
正则表达式的符号表:https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?fr=aladdin#7
Double.parseDouble()方法是把数字类型的字符串,转换成double类型
又了解了JAVADoc:http://blog.csdn.net/fanxiaobin577328725/article/details/52658781





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值