亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java中的String [] S,在其中添加值,現在再創建2個數組

Java中的String [] S,在其中添加值,現在再創建2個數組

SMILET 2023-03-23 16:58:17
在 Java 中創建一個大小為 x 的 String[] S 數組,添加一些值 init ,現在再創建兩個數組 even[] 和 odd[],偶數數組應包含值 String S[] 和偶數索引號和 odd[]將包含具有奇數索引號的字符串 S[] 的值package trying;import java.util.Scanner;public class ArrayTest {    public static void main(String[] args) {        int val;        int evcounter = 0;        int odcounter = 0;        Scanner sc = new Scanner(System.in);        System.out.println("Enter total no of elements ");        val = sc.nextInt();        System.out.println("Enter values ");        String[] n = new String[val];        for (int i = 0; i < n.length; i++) {            n[i] = sc.next();            if (i % 2 == 0) {                evcounter++;            } else {                odcounter++;            }            if (evcounter + odcounter == val) {                String[] eve = new String[evcounter];                String[] odd = new String[odcounter];                System.out.println("******Please Help AFTER THIS**********");            }        }    }}預期輸出:Enter total no of elements 3Enter ValuesHIhelloByeEven array:[HI,Bye]ODD array :[hello]
查看完整描述

3 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

你需要這樣的東西:


public static void main(String[] args) {

    int val;

    int evcounter = 0;

    int odcounter = 0;

    Scanner sc = new Scanner(System.in);

    System.out.println("Enter total no of elements ");

    val = sc.nextInt();

    System.out.println("Enter values ");

    String[] n = new String[val];


    String[] eve = new String[(int) Math.ceil(val/2D)];

    String[] odd = new String[val/2];


    for (int i = 0; i < n.length; i++) {

        n[i] = sc.next();


        if (i % 2 == 0) {

            eve[evcounter] = n[i];

            evcounter++;

        } else {

            odd[odcounter] = n[i];

            odcounter++;

        }

    }

    System.out.println("Even array: " + Arrays.toString(eve));

    System.out.println("Odd array: " + Arrays.toString(odd));

}


查看完整回答
反對 回復 2023-03-23
?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

如果您使用的是 1.8+,那么最好使用易于理解且優雅的函數式風格。


import java.util.Arrays;

import java.util.function.IntPredicate;

import java.util.stream.Collectors;

import java.util.stream.IntStream;


public class MyTestCase {


  @Test

  public void evenOddStringArrayPrinting() {


    String[] src = new String[] {"HI", "Hello", "Bye"};

    final String[] evenArray = getArrayFrom(src, i -> i % 2 == 0);

    final String[] oddArray = getArrayFrom(src, i -> i % 2 == 1);

    System.out.println(Arrays.toString(evenArray));

    System.out.println(Arrays.toString(oddArray));

    Assert.assertEquals(2, evenArray.length);

    Assert.assertEquals(1, oddArray.length);


  }


  private String[] getSome(final String[] src, final IntPredicate predicate) {

    return IntStream.range(0, src.length)

        .filter(predicate)

        .mapToObj(i -> src[i])

        .collect(Collectors.toList())

        .toArray(new String[] {});

  }

}


查看完整回答
反對 回復 2023-03-23
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

public static void main(String[] args) {


    int evenCounter = 0;

    int oddCounter = 0;

    Scanner reader = new Scanner(System.in);

    System.out.println("Enter total no of elements ");

    int num = reader.nextInt();


    String[] n = new String[num];

    System.out.println("Enter values:");

    for (int i=0;i<n.length;i++)

    {

        n[i]=reader.next();

        if (i % 2 == 0) {

            evenCounter++;

        } 

        else 

        {

            oddCounter++;

        }

    }

    String[] even = new String[evenCounter];

    String[] odd = new String[oddCounter];


   for (int z=0;z<n.length;z++)

   {

       if (z%2==0)

       {

           for (int j=0;j<even.length;j++)

           {

               if (even[j]==null)

               {

                   even[j]=n[z];

                   break;

               }

           }

       }

       else if (z%2==1)

       {

           for (int j=0;j<odd.length;j++)

           {

               if (odd[j]==null)

               {

                   odd[j]=n[z];

                   break;

               }

           }

       }

   }

這個想法是遍歷原始 String 數組并檢查它的索引是否為偶數/奇數(就像您在代碼中所做的那樣檢查有多少賠率/偶數)。如果索引是偶數,則遍歷 evens 數組并檢查數組的第一個空單元格(在 java 中,當您生成字符串數組時,您會得到一個充滿空值的數組,因此您搜索第一個空值并將其替換為值來自原始數組)。賠率也一樣。



查看完整回答
反對 回復 2023-03-23
  • 3 回答
  • 0 關注
  • 234 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號