<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)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 日批日出水久久亚洲精品tv| 91免费国产在线观看| 国产精品久久香蕉免费播放| 亚洲国产夜色在线观看| 精品无码国产污污污免费网站| 亚洲av不卡一区二区三区| 国产一区二区免费| 亚洲午夜免费视频| 免费视频爱爱太爽了| 国产成人精品日本亚洲专区6| 日韩毛片免费无码无毒视频观看| 国产成人精品亚洲2020| 免费观看毛片视频| 午夜在线免费视频 | 亚洲国产品综合人成综合网站| 91网站免费观看| 亚洲精品第一国产综合亚AV| 免费爱爱的视频太爽了| 黄色a级片免费看| 色久悠悠婷婷综合在线亚洲| 十九岁在线观看免费完整版电影| 亚洲明星合成图综合区在线| 最好免费观看韩国+日本| 国产免费牲交视频免费播放| 亚洲欧洲日韩不卡| 免费黄色网址入口| 成人A毛片免费观看网站| 亚洲精品欧洲精品| 日韩在线视频免费看| 91免费福利视频| 亚洲冬月枫中文字幕在线看| 日韩免费观看一级毛片看看| 两性色午夜免费视频| 亚洲国产精品综合久久久| 国产成人免费a在线资源| 国产成年无码久久久免费| 亚洲午夜无码久久久久软件 | 中文字幕免费不卡二区| 亚洲综合色7777情网站777| 亚洲国产精品毛片av不卡在线| 人人揉揉香蕉大免费不卡|