Rumah > Java > Bagaimana untuk menjana julat nombor siri 11 digit yang ditentukan?

Bagaimana untuk menjana julat nombor siri 11 digit yang ditentukan?

王林
Lepaskan: 2024-02-12 14:27:05
ke hadapan
786 orang telah melayarinya

Kandungan soalan

Saya menggunakan kod yang diberikan untuk menjana nombor siri dalam paparan senarai sehingga julat tertentu 11 digit. Sehingga sepuluh digit, jujukan yang dijana adalah seperti 0333624140 hingga 0333624160 (cth. 0333624140,0333624141,0333624142,0333624143 dsb.) tetapi jika kita menukar nilai 133624143 kepada 333624141 kepada 3333624141 6241450 Kemudian apl ranap.

btngenerate.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        int value1;
        int value2;
        value1 = Integer.parseInt(txtfirst.getText().toString());
        value2 = Integer.parseInt(txtsecond.getText().toString());
        for(int i=value1;i<=value2;i++){
            list.add(""+i);
            li.setAdapter(arrayAdapter);
        }

    }
});
Salin selepas log masuk

Penyelesaian

Saya telah mengetahui penyelesaian yang saya perlukan sendiri dan dengan bantuan semua orang. Saya menunjukkannya di sini supaya orang lain boleh mendapatkan maklumat mengenainya. Apapun, terima kasih dari lubuk hati saya~

btngenerate.setOnClickListener(new View.OnClickListener() {
    @SuppressLint("DefaultLocale")
    @Override
    public void onClick(View view) {
        try {
            long value1;
            long value2;
            value1 = Long.parseLong(txtfirst.getText().toString());
            value2 = Long.parseLong(txtsecond.getText().toString());

            for(Long i = (Long) value1; i<=value2; i++) {
                list.add(String.format("%011d", i));
                li.setAdapter(arrayAdapter);
            }

        } catch (NumberFormatException e) {
            e.printStackTrace();
        }
    }
});
Salin selepas log masuk

Ini adalah idea yang benar-benar rosak tentang cara menulis kod ini. Anda sedang mencipta tatasusunan yang boleh mengandungi setiap nombor yang panjangnya 11 digit. Itu 11 bilion item. Walaupun setiap objek hanya mengambil 8 bait (4 untuk nilai dan 4 untuk rujukan. Ia lebih daripada itu), itu 88 bilion bait, atau kira-kira 9.5 gb. Itu tidak akan muat dalam ingatan, sebelum itu anda akan menjadi oom way.

Terdapat banyak cara untuk melakukannya. Penyesuai anda tidak memerlukan tatasusunan yang mengandungi setiap item di dalamnya, kerana ia adalah julat bersebelahan, ia hanya memerlukan indeks mula dan akhir, dan nilai setiap indeks boleh dikira berdasarkan indeks permulaan dan mengimbangi. Tetapi mempunyai senarai setiap nilai tidak berfungsi.

Atas ialah kandungan terperinci Bagaimana untuk menjana julat nombor siri 11 digit yang ditentukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan