<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    dream.in.java

    能以不變應萬變是聰明人做事的準則。萬事從小事做起,積累小成功,問鼎大成功,是成功者的秘訣。

    ACM之java速成

    ACM之java速成

    這里指的java速成,只限于java語法,包括輸入輸出,運算處理,字符串和高精度的處理,進制之間的轉換等,能解決OJ上的一些高精度題目。
    1. 輸入:
    格式為:Scanner cin = new Scanner (new BufferedInputStream(System.in));
    例程:
    import java.io.*;
    import java.math.*;
    import java.util.*;
    import java.text.*;
    public class Main
    {
        public static void main(String[] args)
        {
            Scanner cin = new Scanner (new BufferedInputStream(System.in));
            int a; double b; BigInteger c; String st;
            a = cin.nextInt(); b = cin.nextDouble(); c = cin.nextBigInteger(); d = cin.nextLine(); // 每種類型都有相應的輸入函數.
        }
    }

    2. 輸出
    函數:System.out.print(); System.out.println(); System.out.printf();
    System.out.print(); // cout << …;
    System.out.println(); // cout << … << endl;
    System.out.printf(); // 與C中的printf用法類似.
    例程:
    import java.io.*;
    import java.math.*;
    import java.util.*;
    import java.text.*;
    public class Main
    {
        public static void main(String[] args)
        {
            Scanner cin = new Scanner (new BufferedInputStream(System.in));
            int a; double b;
            a = 12345; b = 1.234567;
            System.out.println(a + " " + b);
            System.out.printf("%d %10.5f\n", a, b); // 輸入b為字寬為10,右對齊,保留小數點后5位,四舍五入.
        }
    }
    規格化的輸出:
    函數:
    // 這里0指一位數字,#指除0以外的數字(如果是0,則不顯示),四舍五入.
        DecimalFormat fd = new DecimalFormat("#.00#");
        DecimalFormat gd = new DecimalFormat("0.000");
        System.out.println("x =" + fd.format(x));
        System.out.println("x =" + gd.format(x));

    3. 字符串處理
    java中字符串String是不可以修改的,要修改只能轉換為字符數組.
    例程:
    import java.io.*;
    import java.math.*;
    import java.util.*;
    import java.text.*;
    public class Main
    {
        public static void main(String[] args)
        {
            int i;
            Scanner cin = new Scanner (new BufferedInputStream(System.in));
            String st = "abcdefg";
            System.out.println(st.charAt(0)); // st.charAt(i)就相當于st.
            char [] ch;
            ch = st.toCharArray(); // 字符串轉換為字符數組.
            for (i = 0; i < ch.length; i++) ch += 1;
            System.out.println(ch); // 輸入為“bcdefgh”.
    if (st.startsWith("a")) // 如果字符串以'0'開頭.
            {
                st = st.substring(1); // 則從第1位開始copy(開頭為第0位).
            }
        }
    }

    4. 高精度
    BigInteger和BigDecimal可以說是acmer選擇java的首要原因。
    函數:add, subtract, divide, mod, compareTo等,其中加減乘除模都要求是BigInteger(BigDecimal)和BigInteger(BigDecimal)之間的運算,所以需要把int(double)類型轉換為BigInteger(BigDecimal),用函數BigInteger.valueOf().
    例程:
    import java.io.*;
    import java.math.*;
    import java.util.*;
    import java.text.*;
    public class Main
    {
        public static void main(String[] args)
        {
            Scanner cin = new Scanner (new BufferedInputStream(System.in));
            int a = 123, b = 456, c = 7890;
            BigInteger x, y, z, ans;
            x = BigInteger.valueOf(a); y = BigInteger.valueOf(b); z = BigInteger.valueOf(c);
            ans = x.add(y); System.out.println(ans);
            ans = z.divide(y); System.out.println(ans);
            ans = x.mod(z); System.out.println(ans);
            if (ans.compareTo(x) == 0) System.out.println("1");
        }
    }

    5. 進制轉換
    java很強大的一個功能。
    函數:
    String st = Integer.toString(num, base); // 把num當做10進制的數轉成base進制的st(base <= 35).
    int num = Integer.parseInt(st, base); // 把st當做base進制,轉成10進制的int(parseInt有兩個參數,第一個為要轉的字符串,第二個為說明是什么進制).   
    BigInter m = new BigInteger(st, base); // st是字符串,base是st的進制.

    6. 排序
    函數:Arrays.sort();至于怎么排序結構體,像C++里寫個cmp的方法,在java還不太清楚,希望有人指點下~~
    例程:
    import java.io.*;
    import java.math.*;
    import java.util.*;
    import java.text.*;
    public class Main
    {
        public static void main(String[] args)
        {
            Scanner cin = new Scanner (new BufferedInputStream(System.in));
            int n = cin.nextInt();
            int a[] = new int [n];
            for (int i = 0; i < n; i++) a = cin.nextInt();
            Arrays.sort(a);
            for (int i = 0; i < n; i++) System.out.print(a + " ");
        }
    }

    posted on 2009-03-06 17:10 YXY 閱讀(171) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 你是我的城池营垒免费观看完整版| 国产亚洲精品AAAA片APP| 99久久精品毛片免费播放| 亚洲成人高清在线| 一二三四在线观看免费中文在线观看| 午夜精品在线免费观看| 99亚偷拍自图区亚洲| 免费鲁丝片一级观看| MM1313亚洲国产精品| 亚洲国产精品第一区二区三区| 一级毛片视频免费| 亚洲综合在线另类色区奇米| 在线观看黄片免费入口不卡| 久久精品亚洲综合| 8x成人永久免费视频| 亚洲youjizz| 一本色道久久88亚洲综合| 未满十八私人高清免费影院| 亚洲综合网站色欲色欲| 久久永久免费人妻精品| 亚洲人成在线中文字幕| 免费国产成人高清在线观看麻豆 | 美女视频黄a视频全免费网站色窝| 亚洲色婷婷综合久久| 最近免费中文字幕大全高清大全1| 亚洲欧洲视频在线观看| 在线观看免费大黄网站| 精品无码国产污污污免费网站国产| 亚洲AV永久无码精品水牛影视| 亚洲一区免费视频| 色婷婷亚洲一区二区三区| 亚洲中文字幕无码久久2017| 最近2022中文字幕免费视频| 亚洲hairy多毛pics大全| 伊人久久亚洲综合| 丁香花免费高清视频完整版 | 免费看成人AA片无码视频吃奶| 亚洲成a人片77777群色| 亚洲国产av无码精品| 99re免费在线视频| 最新亚洲人成无码网www电影|