(20點) 將remove_if的程式碼轉成java程式碼

以下這個程式碼為網路上的程式碼

public class says{

public static int remove_if(int[]scr,int value)

{

int res = 0;

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

if(scr[i] !=value) scr[res++] = scr[i];

}return res;

}

public static void fill(int[] scr,int start,int value)

{

for(int i = start;i<scr.length;++i){

scr[i] = value;

}

}

public static void main(String[] args)

{

int[] a = {9,5,7,9,4,8,6,2,1,9};

fill(a,remove_if(a,9),0);

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

System.out.print(a[i]+",");

}

}

}

請幫忙把這個程式碼改成

public class says{

public static void main( String[]args )

{

這個開頭的嗎

請使用while迴圈

請不要再用remove_if 初學者實在看不懂

請使用java程式語言~

謝謝^^

這個程式會印出5,7,4,8,6,2,1,0,0,0,

Update:

謝謝你噢^^

再請問一個問題

請問程式碼中的第11行

if(a[i] != 9) {

裡面的 ! 是什麼意思

已經有google過了

但是還是不清楚網路上說的 ! 跟這邊的 ! 是不是代表一樣的東西

麻煩解答^^

謝謝你^^

2 Answers

Rating
  • 7 years ago
    Favorite Answer

    這是我Blog的文章哦

    同樣的問題

    https://tw.knowledge.yahoo.com/question/question?q...

    滿足你的要求

    1.不用函数

    2.使用while

    3.比教易懂

    ----------------------------------------------

    public class says

    {

    public static void main (String[] args)

    {

    int[] a = {9,5,7,9,4,8,6,2,1,9};

    int res = 0;

    int i = 0;

    // 移除a陣列中的9

    while(i < a.length) {

    if(a[i] != 9) {

    a[res] = a[i];

    res = res + 1;

    }

    i = i+1;

    }

    // 把余下的設定0

    while(res < a.length) {

    a[res] = 0;

    res = res + 1;

    }

    i = 0;

    while(i < a.length) {

    System.out.print(a[i] + ",");

    i = i + 1;

    }

    }

    }

    ----------------------------------------------

    有不明可以留言比我呀...

    2014-04-03 23:33:57 補充:

    已經學了 == (等於) 了嗎?

    這是 等於 的相反 , != 是"不等於"的意思哦

    a[i] != 9 就是 a[i] "不等於" 9

  • Anonymous
    7 years ago

    參考下面的網址看看

    ▶▶http://*****/

Still have questions? Get your answers by asking now.