《寫給大忙人看的 Java 核心技術(shù)》 01 章練習

1.寫個程序热幔,它讀取一個整數(shù)并以二進制、八進制和十六進制輸出讼庇。以十六進制浮點數(shù)輸出倒數(shù)绎巨。

參考答案:

package com.example;

import java.math.BigDecimal;
import java.math.MathContext;
import java.util.Scanner;

public class LearnJava {
    public static void main(String[] args) {

        System.out.print("Please enter an Integer: ");
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            Integer number = scanner.nextInt();
            System.out.println("Binary output: " + Integer.toString(number, 2));

            // method 0
            System.out.println("Octal output: 0" + Integer.toString(number, 8));
            System.out.println("Hexadecimal output: 0x"
                    + Integer.toString(number, 16).toUpperCase());
            // method 1
            System.out.printf("Octal output: 0%o\n", number);
            System.out.printf("Hexadecimal output: 0x%X\n", number);

            // method 0
            BigDecimal bigDecimal = new BigDecimal("1.0").divide( new BigDecimal(number),
                    MathContext.DECIMAL64);
            System.out.println(bigDecimal);
            System.out.printf("Hexadecimal Inverse output: %A\n", bigDecimal.doubleValue());
            // method 1
            System.out.println(1.0/number);
            System.out.printf("Hexadecimal Inverse output: %A\n", 1.0/number);
        }
    }
}

其中 “1.0/number” 的值依賴于編譯器,也就是說這個值是平臺相關(guān)的蠕啄,而 “BigDecimal("1.0").divide( new BigDecimal(number), MathContext.DECIMAL64);” 的值场勤,則依賴于上述代碼中 “MathContext.DECIMAL64” 對應(yīng)的這個參數(shù)的取值,也就是平臺無關(guān)的歼跟。在上述代碼中和媳,它們的值之所以是相同的,是因為 toby 的電腦系統(tǒng)是 64 位的 Ubuntu 系統(tǒng)哈街。

01題輸出效果:

01題輸出效果

2.寫個程序留瞳,它讀取整數(shù),然后經(jīng)過模運算轉(zhuǎn)換為 0° ~ 359° 之間的值骚秦。首先以操作符 % 完成她倘,然后再試 floorMod。

參考答案:

package com.example;

import java.util.Scanner;

public class LearnJava {
    public static void main(String[] args) {

        System.out.println("Please enter a radian: ");
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            Integer number = scanner.nextInt();

            // method 0
            System.out.println("The effective radian value is: " + (number % 360));
            // method 1
            System.out.println("The effective radian value is: " + Math.floorMod(number, 360));

            System.out.println("Please enter a radian: ");
        }
    }
}

02題輸出效果:


02題輸出效果

03.只用條件操作符骤竹,寫一個程序帝牡,讀取三個整數(shù)并輸出最大的。使用 Math.max 實現(xiàn)同樣的功能蒙揣。

參考答案:

package com.example;

import java.util.Scanner;

public class LearnJava {
    public static void main(String[] args) {

        System.out.print("Please enter first Integer: ");
        Scanner scanner = new Scanner(System.in);

        boolean enterDataOk = false;
        if (scanner.hasNextInt()) {
            Integer number0 = scanner.nextInt();

            System.out.print("Please enter second Integer: ");
            if (scanner.hasNextInt()) {
                Integer number1 = scanner.nextInt();

                System.out.print("Please enter third Integer: ");
                if (scanner.hasNextInt()) {
                    enterDataOk = true;
                    Integer number2 = scanner.nextInt();

                    // method 0
                    int result = number0 > number1 ? number0 : number1;
                    result = result > number2 ? result : number2;
                    System.out.println("The max value is: " + result);

                    // method 1
                    System.out.println("The max value is: "
                            + Math.max(Math.max(number0, number1), number2));
                }
            }
        }

        if (!enterDataOk) {
            System.out.print("Input data failed!");
        }

    }
}

03題輸出結(jié)果:

03題輸出結(jié)果

04.寫個程序靶溜,輸出 double 類型中的最小正數(shù)值和最大正數(shù)值。提示:在 Java API 文檔中查詢 Math.nextUp

參考答案:

package com.example;

public class LearnJava {
    public static void main(String[] args) {
        System.out.println("The max positive number: "
                + Math.nextDown(Double.POSITIVE_INFINITY));
        System.out.println("The min positive number: " + Math.nextUp(0));
    }
}

04題輸出結(jié)果:

04題輸出結(jié)果

05.當你將一個 double 類型的值轉(zhuǎn)換為 int 類型的值懒震,并且該值大于最大可能的 int 值時罩息,會發(fā)生什么?試試看个扰。

參考答案:

package com.example;

public class LearnJava {
    public static void main(String[] args) {
        double normalDouble = 123456.789D;
        System.out.println("The normal double number: " + normalDouble);
        int normalValue = (int) normalDouble;
        System.out.println("The int value of the normal double number: " + normalValue);

        double maxDouble = Math.nextDown(Double.POSITIVE_INFINITY);
        System.out.println("The max positive number: " + maxDouble);
        int intValue = (int) maxDouble;
        System.out.println("The int value of the max positive number: " + intValue);
    }
}

05題輸出結(jié)果:

05題輸出結(jié)果

由輸出可見瓷炮,如果 Double 類型的數(shù)據(jù)較大的話,強制轉(zhuǎn)換將數(shù)據(jù)截短了递宅,只保留了 Integer 類型能夠表示的最大數(shù)值娘香。關(guān)于 “2147483647” ,它是 2147483646 與 2147483648 之間的自然數(shù)办龄,也是歐拉在 1772 年所發(fā)現(xiàn)的一個梅森素數(shù)烘绽,它等于 2^31-1,是 32 位操作系統(tǒng)中最大的符號型整型常量俐填。

06.寫個程序安接,計算階乘 n! = 1 × 2 × ... × n,使用 BigInteger英融。計算 1000 的階乘盏檐。

參考答案:

package com.example;

import java.math.BigInteger;

public class LearnJava {

    private static BigInteger factorial(BigInteger value) {
        BigInteger bigInteger = value.subtract(BigInteger.ONE);
        if (bigInteger.compareTo(BigInteger.ONE) > 0) {
            return value.multiply(factorial(bigInteger));
        }
        return value.multiply(bigInteger);
    }

    public static void main(String[] args) {
        System.out.println("The factorial of 1000 is: "
                + factorial(BigInteger.valueOf(1000)));
    }
}

06題輸出結(jié)果:

06題輸出結(jié)果

答案長的有些不像話歇式,上圖其實沒有顯示全,完整的答案是這樣的:

The factorial of 1000 is: 402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

足足有 2568 位:

2568 位

這也可以看出 BigInteger 的強大之處胡野。

07.寫個程序材失,讀取 0~65535 之間的兩個數(shù),在 short 變量中存儲给涕,并計算它們的無符號之和豺憔、之差、之積够庙、之商和余數(shù)恭应,不要將它們轉(zhuǎn)換為 int 類型。

參考答案:

package com.example;

import java.util.Scanner;

public class LearnJava {

    private static int toUnsigned(short value) {
        return value & 0xFFFF;
    }

    public static void main(String[] args) {

        System.out.print("Please enter first Short(0~65535): ");
        Scanner scanner = new Scanner(System.in);

        boolean enterDataOk = false;
        if (scanner.hasNextInt()) {
            short number0 = (short)scanner.nextInt();

            System.out.print("Please enter second Short(0~65535): ");
            if (scanner.hasNextInt()) {
                enterDataOk = true;
                short number1 = (short) scanner.nextInt();

                System.out.println(toUnsigned(number0) + " + " + toUnsigned(number1)
                        + " = " + (toUnsigned(number0) + toUnsigned(number1)));
                System.out.println(toUnsigned(number0) + " - " + toUnsigned(number1)
                        + " = " + (toUnsigned(number0) - toUnsigned(number1)));
                System.out.println(toUnsigned(number0) + " * " + toUnsigned(number1)
                        + " = " + (toUnsigned(number0) * toUnsigned(number1)));
                System.out.println(toUnsigned(number0) + " / " + toUnsigned(number1)
                        + " = " + (toUnsigned(number0) / toUnsigned(number1)));
            }
        }

        if (!enterDataOk) {
            System.out.print("Input data failed!");
        }

    }
}

07題輸出結(jié)果:

07題輸出結(jié)果

08.寫個程序耘眨,讀取一個字符串并輸出該字符串所有的非空子字符串昼榛。

參考答案:

package com.example;

public class LearnJava {

    public static void main(String[] args) {
        String testStr = "Please       enter\n first\t  Short (0~65535): ";
        String[] testStrArray = testStr.split("\\s+");

        for (String t : testStrArray) {
            System.out.println("Child String: " + t);
        }
    }
}

08題輸出結(jié)果:

08題輸出結(jié)果

09.“1.5.3” 節(jié)中有個例子,兩個字符串 s 和 t剔难,雖然 s.equals(t) 為真胆屿,但是 s != t 。找出不使用 substring 方法的不同例子偶宫。

參考答案:

package com.example;

public class LearnJava {

    public static void main(String[] args) {
        String testStr = "Please       enter\n first\t  Short (0~65535): ";
        String[] testStrArray = testStr.split("\\s+");

        for (String t : testStrArray) {
            System.out.println("Child String: " + t);
        }

        System.out.println("testStrArray[0] == \"Please\" result: "
                + (testStrArray[0] == "Please") );
        System.out.println("testStrArray[0].equals(\"Please\") result: "
                + testStrArray[0].equals("Please") );
    }
}

09題輸出結(jié)果:

09題輸出結(jié)果

10.寫個程序非迹,先產(chǎn)生隨機的 long 型整數(shù),然后模 36纯趋,最后輸出由字母和數(shù)字組成的隨機字符串憎兽。

參考答案:

package com.example;

import java.util.Random;

public class LearnJava {

    public static void main(String[] args) {

        Random random = new Random();
        random.setSeed(System.currentTimeMillis());

        String chars = "abcdefghijklmnopqrstuvwxyz0123456789";

        String outputStr = "";
        for (int i=0; i<36; ++i) {
            int index = Math.abs((int)(random.nextLong()%36));
            outputStr += chars.charAt(index);
        }

        System.out.println("outputStr: " + outputStr);
    }
}

10題輸出結(jié)果:

10題輸出結(jié)果

11.寫個程序,讀取一行文本并輸出所有非 ASCII 字符吵冒,以及它們的 Unicode 值纯命。

參考答案:

package com.example;

public class LearnJava {

    private static String toUnicodeExcludeAscii(String str) {
        StringBuilder retStr = new StringBuilder();
        for(int i=0; i<str.length(); i++) {
            int cp = Character.codePointAt(str, i);
            int charCount = Character.charCount(cp);
            if (charCount > 1) {
                i += charCount - 1; // 一些 unicode 字符跨越兩個 Java 字符。
                if (i >= str.length()) {
                    throw new IllegalArgumentException("truncated unexpectedly");
                }
            }

            if (cp > 128) {
                retStr.append(String.format("\\u%x", cp));
            }
        }
        return retStr.toString();
    }

    private static String unicodeToNormal(String str) {
        StringBuilder retStr = new StringBuilder();
        String[] unicodeArray = str.split("\\\\u");

        for (String aChar : unicodeArray) {
            if (aChar.isEmpty()) {
                continue; // 第一個 aChar 為空
            }
            int data = Integer.parseInt(aChar, 16);
            retStr.append((char) data);
        }

        return retStr.toString();
    }

    public static void main(String[] args) {

        String testStr0 = "ASCII(American Standard Code for Information Interchange痹栖,\n" +
                "美國信息交換標準代碼)是基于拉丁字母的一套電腦編碼系統(tǒng)亿汞,主要用于顯示現(xiàn)代英語和\n" +
                "其他西歐語言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng)揪阿,并等同于國際標準ISO/IEC 646疗我。\n";

        String testStr1 = toUnicodeExcludeAscii(testStr0);
        System.out.println("toUnicodeExcludeAscii: " + testStr1);
        System.out.println("unicodeToNormal: " + unicodeToNormal(testStr1));
    }
}

11題輸出結(jié)果:

11題輸出結(jié)果

注意:本題中我們要考慮到一些 unicode 字符跨越兩個 Java 字符的問題。

12.JDK(Java 開發(fā)工具箱)包含一個 src.zip 文件南捂,該文件有 Java 庫的源代碼碍粥。解壓該文件,用你喜歡的文本搜索工具黑毅,找到帶標簽的 break 和 continue 的用法。選擇其中一個并使用不帶標簽的聲明重寫钦讳。

參考答案:

package com.example;

public class LearnJava {

    private static void testBreakWithTag(){
        int i = 0;
        outer:
        while (true)
        {
            System.out.print("Pass "+(i++)+":");
            for(int j=0; j<100; j++)
            {
                if(j==10)
                    break outer;
                System.out.print(j+" ");
            }
            // 如果帶標簽矿瘦,那么下面的兩行代碼不會被執(zhí)行
            System.out.println();
            System.out.println("HA HA HA HA ...");
        }
        System.out.println("loops complete.");
    }

    private static void testBreakNoTag(){
        int i=0;
        int j=0;
        while (j<10) {
            System.out.print("Pass "+(i++)+":");
            for(; j<100; j++)
            {
                if(j==10)
                    break;
                System.out.print(j+" ");
            }
            System.out.println();
            System.out.println("HA HA HA HA ...");
        }
        System.out.println("loops complete.");
    }

    private static void testContinueWithTag(){
        int i=0;
        int j=0;
        outer:
        while (j<10)
        {
            System.out.print("Pass "+(i++)+":");
            for(; j<100; j++)
            {
                if(j==10)
                    continue outer;
                System.out.print(j+" ");
            }
            // 如果帶標簽枕面,那么下面的兩行代碼不會被執(zhí)行
            System.out.println();
            System.out.println("HA HA HA HA ...");
        }
        System.out.println("loops complete.");
    }

    private static void testContinueNoTag(){
        System.out.print("Pass "+0+":");
        for(int j=0; j<10; j++)
        {
            System.out.print(j+" ");
        }
        System.out.println("loops complete.");
    }

    public static void main(String[] args) {
        testBreakWithTag();
        testBreakNoTag();
        testContinueWithTag();
        testContinueNoTag();
    }
}

12題輸出結(jié)果:

12題輸出結(jié)果

這個是自己寫的示例,可能不是很合理缚去,也歡迎大家補充潮秘。

13.寫個程序,可以輸出一組彩票組合易结,該組合由 1~49 之間的 6 個不同數(shù)字組成枕荞。為產(chǎn)生 6 個不同數(shù)字,先用 1~ 49 填充一個數(shù)組搞动。然后隨機選擇一個索引并刪除對應(yīng)元素躏精,重復(fù) 6 次,并輸出排序后的結(jié)果鹦肿。

參考答案:

package com.example;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class LearnJava {

    public static void main(String[] args) {
        List<Integer> integers = new ArrayList<>();

        for (int i=1; i<50; ++i) {
            integers.add(i);
        }

        Random random = new Random();
        random.setSeed(System.currentTimeMillis());

        StringBuilder stringBuilder = new StringBuilder();

        for (int i=0; i<6; ++i){
            stringBuilder.append(integers.remove(random.nextInt(integers.size() - 1)));
            if (i < 5) {
                stringBuilder.append(" ");
            }
        }

        System.out.println("The result is: " + stringBuilder.toString());
    }
}

13題輸出結(jié)果:

13題輸出結(jié)果

14.寫個程序矗烛,讀取整型的二維數(shù)組并判斷它是否是魔方(也就是,所有的行之和箩溃、列之和瞭吃,以及對角線之和都是相同的)。接受可以分隔成單個整數(shù)的行輸入涣旨,當用戶輸入空白行時停止歪架。例如,如下輸入

16 3 2 13
3 10 11 8
9 6 7 12
4 15 14 1
(空白行)

程序應(yīng)該確認用戶輸入的數(shù)組是否為魔方霹陡。

參考答案:

package com.example;

import java.util.ArrayList;
import java.util.Scanner;

public class LearnJava {

    public static void main(String[] args) {
        System.out.println("Please enter first numbers Line: ");
        Scanner scanner = new Scanner(System.in);

        ArrayList<Long> rowSums = new ArrayList<>();
        ArrayList<Long> columnSums = new ArrayList<>();
        Long leftTopToRightBottomSum = 0L;
        Long rightTopToLeftBottomSum = 0L;

        boolean enterDataOk = false;

        int columnCount = -1;

        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            String[] numbers =  line.split(" ");
            if (numbers.length <= 1) {
                break; // 無輸入或者只輸入一個數(shù)字時和蚪,直接退出
            }

            if (-1 == columnCount) {
                columnCount = numbers.length;
            } else {
                if (columnCount != numbers.length) {
                    break; // 新輸入的行的數(shù)字個數(shù)少于或者
                    // 多于第一行數(shù)字的個數(shù)時,直接退出
                }
            }

            long rowSum = 0;
            for (int i=0; i<columnCount; ++i) {
                Long numberValue = Long.valueOf(numbers[i]);
                Long columnSum = (columnSums.size() <= i ? 0L : columnSums.get(i));
                if (columnSums.size() <= i) {
                    columnSums.add(columnSum + numberValue);
                } else {
                    columnSums.set(i, columnSum + numberValue);
                }
                rowSum += numberValue;
            }

            leftTopToRightBottomSum += Long.valueOf(numbers[rowSums.size()]);
            rightTopToLeftBottomSum += Long.valueOf(
                    numbers[columnCount - rowSums.size() - 1]);

            rowSums.add(rowSum);
            if (rowSums.get(0) != rowSum) {
                break; // 出現(xiàn)新的行的和與第一行的和不相同時穆律,直接退出
            }

            if (rowSums.size() == columnCount) {

                Long allSums = 0L;
                for (Long columnSum : columnSums) {
                    allSums += columnSum;
                }
                enterDataOk = (allSums/columnCount == rowSums.get(0))
                        && leftTopToRightBottomSum.equals(rightTopToLeftBottomSum);

                break; // 行數(shù)與列數(shù)相同達到魔方要求惠呼,直接退出
            }
        }


        if (!enterDataOk) {
            System.out.println("this is not a Rubik's cube!");
        } else {
            System.out.println("this is a Rubik's cube, Congratulations!");
        }
    }
}

14題輸出結(jié)果:

14題輸出結(jié)果

15.寫個程序,在 ArrayList<ArrayList<Integer>> 中存儲給定 n 的帕斯卡三角形峦耘。

什么是帕斯卡(也叫楊輝)三角形剔蹋?從下面的動態(tài)圖片就很簡單明了地知道了:

1416275138275.gif

參考答案:

package com.example;

import java.util.ArrayList;
import java.util.Scanner;

public class LearnJava {

    public static void main(String[] args) {

        System.out.println("Please enter an Integer:");

        Scanner scanner = new Scanner(System.in);

        ArrayList<ArrayList<Integer>> pascalTriangle = new ArrayList<>();

        if (scanner.hasNextInt()) {
            Integer n = scanner.nextInt();

            if (n >= 1) {
                ArrayList<Integer> data = new ArrayList<>();
                data.add(1);
                pascalTriangle.add(data);
            }

            if (n >= 2) {
                ArrayList<Integer> data = new ArrayList<>();
                data.add(1);
                data.add(1);
                pascalTriangle.add(data);
            }

            for (int i = 3; i <=n; i++) {
                ArrayList<Integer> data = new ArrayList<>();
                ArrayList<Integer> prev = pascalTriangle.get(i - 2);
                data.add(1);
                for (int j = 2; j <= i -1; j++) {
                    data.add(prev.get(j - 2) + prev.get(j - 1));
                }
                data.add(1);

                pascalTriangle.add(data);
            }
        }

        System.out.println("Pascal Triangle:");

        for (ArrayList<Integer> data : pascalTriangle) {
            System.out.println(data.toString());
        }
    }
}

15題輸出結(jié)果:

15題輸出結(jié)果

16.改進 average 方法,使得調(diào)用該方法辅髓,至少有一個參數(shù)泣崩。

這個題,洛口,矫付,,第焰,买优,略,,杀赢,烘跺,,額脂崔,主要是我也沒想好要加什么參數(shù)合適滤淳。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市砌左,隨后出現(xiàn)的幾起案子脖咐,更是在濱河造成了極大的恐慌,老刑警劉巖汇歹,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屁擅,死亡現(xiàn)場離奇詭異,居然都是意外死亡秤朗,警方通過查閱死者的電腦和手機煤蹭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來取视,“玉大人硝皂,你說我怎么就攤上這事∽魈罚” “怎么了稽物?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長折欠。 經(jīng)常有香客問我贝或,道長,這世上最難降的妖魔是什么锐秦? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任咪奖,我火速辦了婚禮,結(jié)果婚禮上酱床,老公的妹妹穿的比我還像新娘羊赵。我一直安慰自己,他們只是感情好扇谣,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布昧捷。 她就那樣靜靜地躺著,像睡著了一般罐寨。 火紅的嫁衣襯著肌膚如雪靡挥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天鸯绿,我揣著相機與錄音跋破,去河邊找鬼逮走。 笑死臼勉,一個胖子當著我的面吹牛绰姻,可吹牛的內(nèi)容都是我干的闯狱。 我是一名探鬼主播忱叭,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼起胰,長吁一口氣:“原來是場噩夢啊……” “哼捐顷!你這毒婦竟也來了叽唱?” 一聲冷哼從身側(cè)響起聚霜,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤狡恬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蝎宇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弟劲,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年姥芥,在試婚紗的時候發(fā)現(xiàn)自己被綠了兔乞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡凉唐,死狀恐怖庸追,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情台囱,我是刑警寧澤淡溯,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站簿训,受9級特大地震影響咱娶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜强品,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一膘侮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧的榛,春花似錦琼了、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至慷丽,卻和暖如春蹦哼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背要糊。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工纲熏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓局劲,卻偏偏與公主長得像勺拣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鱼填,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容