本題要求編寫程序,順序讀入浮點數1、整數、字符、浮點數2,再按照字符、整數、浮點數1、浮點數2的順序輸出。
輸入格式:
輸入在一行中順序給出浮點數1、整數、字符、浮點數2,其間以1個空格分隔。
輸出格式:
在一行中按照字符、整數、浮點數1、浮點數2的順序輸出,其中浮點數保留小數點后2位。
輸入樣例:2.12 88 c 4.7輸出樣例:
c 88 2.12 4.70
/*我自己寫的沒通過,后來發現是沒讀懂題意!要求是“輸入一行”,之間加1個空格,我的是一個一個的輸入!import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); float a = input.nextFloat(); int b = input.nextInt(); String c = input.next(); float d = input.nextFloat(); System.out.知識擴展:1、Split方法:將一個字符串分割為子字符串,然后將結果作為字符串數組返回。 stringObj.split([separator,[limit]]) 參數 stringObj 必選項。要被分解的 String 對象或文字。該對象不會被 split 方法修改。 separator 可選項。字符串或 正則表達式對象,它標識了分隔字符串時使用的是一個還是多個字符。如果忽略該選項,返回包含整個字符串的單一元素數組。 limit 可選項。該值用來限制返回數組中的元素個數。說明: split 方法的結果是一個字符串數組,在 stingObj 中每個出現 separator 的位置都要進行分解所以正常的寫法是這樣的:1)、如果用“.”作為分隔的話,必須是如下寫法:String.split("http://."),這樣才能正確的分隔開,不能用String.split(".");2)、如果用“|”作為分隔的話,必須是如下寫法:String.split("http://|"),這樣才能正確的分隔開,不能用String.split("|");“.”和“|”都是轉義字符,必須得加"http://";3)、如果在一個字符串中有多個分隔符,可以用“|”作為連字符,比如:“a=1 and b =2 or c=3”,把三個都分隔出來,可以用String.split("and|or");2、DecimalFormat類也是Format的一個子類,主要作用是格式化數字。當然,在格式化數字時要比直接使用NumberFormat更加方便,因為可以直接指定按用戶自定義的方式進行格式化操作,與SimpleDateFormat類似。如果要進行自定義格式化操作,則必須指定格式化操作的模板,此模板如表下所示:
序號 | 標記 | 位置 | 描述 |
1 | 0 | 數字 | 代表阿拉伯數字,每一個0表示一位阿拉伯數字, 如果該位不存在則顯示0 |
2 | # | 數字 | 代表阿拉伯數字,每一個#表示一位阿拉伯數字, 如果該位不存在則不顯示 |
3 | . | 數字 | 小數點分隔符或貨幣的小數分隔符 |
4 | - | 數字 | 代表負號 |
5 | , | 數字 | 分組分隔符 |
6 | E | 數字 | 分隔科學計數法中的尾數和指數 |
7 | ; | 子模式邊界 | 分隔正數和負數子模式 |
8 | % | 前綴或后綴 | 數字乘以100并顯示為百分數 |
9 | /u2030 | 前綴或后綴 | 乘以1000并顯示為千分數 |
10 | ¤ /u00A4 | 前綴或后綴 | 貨幣記號,由貨幣號替換。如果兩個同時出現, 則用國際貨幣符號替換;如果出現在某個模式中 ,則使用貨幣小數分隔符,而不使用小數分隔符 |
11 | , | 前綴或后綴 | 用于在前綴或后綴中為特殊字符加引號,例如 "'#'#"將123格式化為"#123"。要創建單引 號本身,則連續使用兩個單引號,例如"# o''clock" |
下面通過實例代碼說明以上格式化模板的使用。
范例:格式化數字

package org.lxh.demo11.numberdemo; import java.text.DecimalFormat; class FormatDemo{ public void format1(String pattern,double value){ DecimalFormat df = null ; // 聲明一個DecimalFormat對象 df = new DecimalFormat(pattern) ; // 實例化對象 String str = df.format(value) ; // 格式化數字 System.out.println("使用" + pattern + "格式化數字"+value+":" + str); } } public class NumberFormatDemo02 { public static void main(String[] args) { FormatDemo demo = new FormatDemo() ; demo.format1("###,###.###", 111222.34567); demo.format1("000,000.000", 11222.34567); demo.format1("###,###.###¥", 111222.34567); demo.format1("000,000.000¥", 11222.34567); demo.format1("##.###%", 0.345678); // 使用百分數形式 demo.format1("00.###%", 0.0345678); // 使用百分數形式 demo.format1("###.###/u2030", 0.345678); // 使用千分數形式 } }View Code//程序運行結果:使用###,###.###格式化數字111222.34567:111,222.346 使用000,000.000格式化數字11222.34567:011,222.346 使用###,###.###¥格式化數字111222.34567:111,222.346¥ 使用000,000.000¥格式化數字11222.34567:011,222.346¥ 使用##.###%格式化數字0.345678:34.568% 使用00.###%格式化數字0.0345678:03.457% 使用###.###‰格式化數字0.345678:345.678‰
新聞熱點
疑難解答