日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java黑皮书课后题第7章:7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值。编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字

發(fā)布時(shí)間:2024/7/23 java 32 豆豆

7.15(消除重復(fù))使用下面的方法頭編寫(xiě)方法,消除數(shù)組中重復(fù)出現(xiàn)的值。編寫(xiě)一個(gè)測(cè)試程序,讀取10個(gè)數(shù),調(diào)用該方法,并顯示以一個(gè)空格分隔的不同數(shù)字

  • 題目
    • 題目描述與運(yùn)行示例
    • 破題
  • 代碼
  • 21.11.11更改代碼

題目

題目描述與運(yùn)行示例

7.15(消除重復(fù))使用下面的方法頭編寫(xiě)方法,消除數(shù)組中重復(fù)出現(xiàn)的值:
public static int[] eliminateDuplicates(int[] list)
編寫(xiě)一個(gè)測(cè)試程序,讀取10個(gè)數(shù),調(diào)用該方法,并顯示以一個(gè)空格分隔的不同數(shù)字

Enter 10 numbers: 1 2 3 2 1 6 3 4 5 2 The distinct numbers are: 1 2 3 6 4 5

破題

  • 主方法從控制臺(tái)獲取數(shù)據(jù),賦值給數(shù)組
  • 調(diào)用eliminateDuplicates方法,傳入剛剛賦值完的數(shù)組
  • eliminateDuplicates方法:去掉重復(fù)值,返回新數(shù)組
  • 主方法按照格式要求輸出
  • 代碼

    import java.util.Scanner;public class Test7_15 { //1 2 3 2 1 6 3 4 5 2public static void main(String[] args) {// 1. 主方法從控制臺(tái)獲取數(shù)據(jù),賦值給數(shù)組Scanner input = new Scanner(System.in);System.out.print("Enter 10 numbers: ");int length0 = 10;int[] lst_input = new int[length0];for (int i = 0; i < length0; i++){lst_input[i] = input.nextInt();}// 2. 調(diào)用eliminateDuplicates方法,傳入剛剛賦值完的數(shù)組int[] lst_feedback = eliminateDuplicates(lst_input);// 4. 主方法按照格式要求輸出System.out.print("The distinct numbers are: ");int temp = 0;for (int i = 0; i < 10; i++){temp = lst_feedback[i];if (temp != 0 || (i == 0 && temp == 0)){System.out.print(temp + " ");}}}public static int[] eliminateDuplicates(int[] list){int length = 10;// 計(jì)算list最大值: maxint max = 0;for (int i = 0; i < length; i++){if (max < list[i])max = list[i];}// 聲明創(chuàng)建一個(gè)以list最大值+1為長(zhǎng)度的數(shù)組int[] lst_temp = new int[max + 1];// 原數(shù)組元素作為下標(biāo)代入新數(shù)組,并將元素置為1for (int i = 0; i < length; i++) {lst_temp[list[i]] = 1;}// 把接收的數(shù)組list進(jìn)行遍歷,list的元素代入lst_temp的下標(biāo)中// 將保留的list[i]用返回?cái)?shù)組接收int[] feedback = new int[10];int count = 0;for (int i = 0 ; i <= max ; i++){if (lst_temp[i] == 1){feedback[count] = i;count++;}}return feedback;} }

    21.11.11更改代碼

    感謝 @MDeleter 糾錯(cuò),已經(jīng)將正確代碼附上
    這版代碼糾正了輸入數(shù)字最大值大于10時(shí)數(shù)組越界和輸出很多0的問(wèn)題、糾正了當(dāng)輸入數(shù)字有0時(shí)無(wú)法處理0的問(wèn)題

    總結(jié)

    以上是生活随笔為你收集整理的Java黑皮书课后题第7章:7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值。编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。