ホームページ Java &#&はじめる Javaで多数決の組み合わせマージを実装する方法

Javaで多数決の組み合わせマージを実装する方法

Aug 01, 2020 pm 04:38 PM
java

Javaで多数決の組み合わせマージを実装する方法

要件:

整数配列のセットが複数あり、それらを新しい配列にマージする必要があります。

(推奨チュートリアル: java 入門チュートリアル)

マージルール:

各配列から固定長の内容を順番に取り出してマージします。配列内で取得した内容は削除され、行が固定長未満または空の場合は、残った内容を直接取得して新しい配列に配置し、次の行が継続されます。

(ビデオ チュートリアルの推奨: Java ビデオ チュートリアル)

コードの実装:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

package Shuru_lianxi;

  

import java.util.ArrayList;

import java.util.Scanner;

  

public class biShi {

  

    public static boolean isNull(ArrayList<String> gh) {

        int i = 0;

        for (i = 0; i < gh.size(); i++) {

            if (gh.get(i) != null)

                break;

        }

        if (i < gh.size()) {

            return false;

        } else {

            return true;

        }

    }

  

    public static void Alg(ArrayList<String> ma, int num) {

        String tem = "";// 作为最后的返回结果

        while (!isNull(ma)) {

            for (int i = 0; i < ma.size(); i++) {

                String sk = ma.get(i);

                if (sk == null) {

                    continue;

                }

                String[] gg = sk.split(",");

                if (sk.length() == 0) {

                    ma.set(i, null);// 删掉取完的内容

                } else {

                    if (gg.length <= num) {

                        tem = tem + sk + ",";

                        ma.set(i, null);

                    } else {

                        for (int k = 0; k < num; k++) {

                            tem = tem + gg[k] + ",";

                        }

                        String hh = "";

                        for (int l = num; l < gg.length; l++) {

                            if (l == gg.length - 1) {

                                hh = hh + gg[l];

                            } else {

                                hh = hh + gg[l] + ",";

                            }

                        }

                        // 将没取完的数组重新覆盖

                        ma.set(i, hh);

                    }

                }

            }

        }

        System.out.println(tem.substring(0, tem.length() - 1));

    }

  

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int num = sc.nextInt();

        ArrayList<String> ma = new ArrayList<String>();

        sc.nextLine();// nextInt()会留下一个回车,需要消除,否则后边会出错

        while (!sc.hasNext("#")) {// 以#结束,这里你可以修改成其他的

            ma.add(sc.nextLine());

        }

        Alg(ma, num);

    }

}

ログイン後にコピー

以上がJavaで多数決の組み合わせマージを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの平方根 Javaの平方根 Aug 30, 2024 pm 04:26 PM

Javaの平方根

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Javaの完全数

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーター

Javaのアームストロング数 Javaのアームストロング数 Aug 30, 2024 pm 04:26 PM

Javaのアームストロング数

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

ジャワのウェカ

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Javaのスミス番号

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

Java Springのインタビューの質問

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8 Stream Foreachから休憩または戻ってきますか?

See all articles