1. 程式人生 > >演算法第四版1.1.21

演算法第四版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

當中涉及的不理解的知識點:正則表示式、

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