數組的經典例子

来源:http://www.cnblogs.com/weiguangyi/archive/2016/02/09/5185423.html
-Advertisement-
Play Games

例1:求學生的平均分 1 public static void main(String[] args) { 2 Scanner input=new Scanner(System.in); 4 int scores []=new int[5]; 5 int sum=0; 6 7 System.out.


例1:求學生的平均分

 1 public static void main(String[] args) {        
 2 Scanner input=new Scanner(System.in);
 4         int scores []=new int[5];
 5         int sum=0;
 6         
 7         System.out.println("請輸入五位同學的成績:");
 8         for (int i = 0; i < scores.length; i++) {//遍曆數組
 9             scores[i]=input.nextInt();
10             sum+=scores[i];//成績累加        
11         }
12         System.out.print("平均分:"+sum/scores.length);

例2:輸出5筆購物金額及總金額

 1 public static void main(String[] args) {                
 2         Scanner input=new Scanner(System.in);
 3         double sum=0;
 4         double scores[]=new double[5];
 5         for (int i = 0; i < scores.length; i++) {
 6             System.out.print("請輸入第"+(i+1)+"筆金額的記錄:");
 7             scores[i]=input.nextDouble();
 8              sum+=scores[i];
 9         }
10         System.out.println("序號\t\t"+"金額(元)");
11         for (int i = 0; i < scores.length; i++) {
12             System.out.print((i+1)+"\t\t");
13         System.out.println(scores[i]);
14         }
15             System.out.println("總金額:\t\t"+sum);

例3:迴圈錄入5位學員成績,進行升序排列後輸出結果

 1 public static void main(String[] args) {        
 2     Scanner input=new Scanner(System.in);
 3     int scores []=new int[5];
 4     System.out.println("請輸入5位同學的成績:");
 5     //錄入成績
 6     for (int i = 0; i < scores.length; i++) {
 7         scores[i]=input.nextInt();
 8     }
 9     Arrays.sort(scores);//排序
10     System.out.println("學員成績按升序排序:");
11     for (int i = 0; i < scores.length; i++) {
12         System.out.println(scores [i]+" ");
13     }

例4:從鍵盤輸入本次Java考試五位學生的成績,求考試成績最高分

 1 public static void main(String[] args) {        
 2     Scanner input=new Scanner(System.in);
 3     int scores []=new int[5];
 4     int max=0;
 5     System.out.println("請輸入5位同學的成績:");
 6     //錄入成績
 7     for (int i = 0; i < scores.length; i++) {
 8         scores[i]=input.nextInt();
 9     }
10     
11     for (int i = 0; i < scores.length; i++) {
12         if (scores[i]>max) {
13             max=scores[i];
14         }
15     }
16         System.out.println("最高分:"+max);
17     }

例5:有一組學員的成績{99,85,82,63, 60},將它們按升序排列。要增加一個學員的成績,將它插入成績序列,並保持升序。

 1 public static void main(String[] args) {        
 2     Scanner input=new Scanner(System.in);
 3            int [] list=new int [6];
 4            list[0]=99;
 5            list[1]=95;
 6            list[2]=92;
 7            list[3]=89;
 8            list[4]=69;
 9            list[5]=49;
10            int index=list.length;//保存新增成績的位置
11            System.out.println("請輸入新增成績:");
12            int num=input.nextInt();//輸入要插入的數據
13            //找到新元素插入的位置
14            for (int i = 0; i < list.length; i++) {
15             
16                if (num>list[i]) {
17                 index=i;
18                 break;
19             }
20         }
21            //元素後移
22            for (int i =list.length-1 ; i >index ; i--) {
23         list[i]=list[i-1];//index下標開始的元素後移一個位置
24         }
25            list[index]=num;
26     System.out.println("插入成績的下標:"+index);
27     
28     System.out.println("插入後成績信息是:");
29     for (int i = 0; i < list.length; i++) {
30         System.out.println(list[i]+"\t");
31     }
32     }

例6:將 一組亂序的字元進行排序 進行升序和逆序輸出

 1 public static void main(String[] args) {        
 2     Scanner input=new Scanner(System.in);
 3     String[]num=new String[]{"a","c","u","b","e","p","f","z"};
 4     System.out.print("原字元序列:");
 5     for (int i = 0; i < num.length; i++) {
 6         System.out.print(num[i]+" ");
 7     }
 8     Arrays.sort(num);
 9     System.out.println();//換行
10     System.out.print("升序排序後:");
11     for (int i = 0; i < num.length; i++) {
12         System.out.print(num[i]+" ");
13     }
14     System.out.println();//換行
15     System.out.print("逆序輸出為:");
16     //逆序,則從最後的哪一個元素排在第一位
17     for (int i = num.length-1; i >=0 ; i--) {
18         System.out.print(num[i]+" ");
19     }

例7:求出4家店的最低手機價格及原始位置(下標)

 1 Scanner input=new Scanner(System.in);
 2      System.out.println("請輸入4家店的價格");
 3        int[]num=new int[4];
 4        for (int i = 0; i < num.length; i++) {
 5                System.out.print("第"+(i+1)+"店的價格:");
 6                num[i]=input.nextInt();           
 7            }
 8        int min=num[0];
 9         int index=0;
10            for (int j = 0; j < num.length; j++) {
11             if (num[j]<min) {
12                 min=num[j];
13                 index=j;
14             }
15             
16            }
17            System.out.print("最低價格:"+min);
18            System.out.println("且它在數組中的原始位置(下標)是:" + index);
19         }
20     }

例8:從鍵盤上輸出10個整數,合法值為1,2或3,其餘為不合法,並且統計合法及不合法的個數

 1 Scanner input=new Scanner(System.in);
 2         int nums[] = new int[10];
 3         int a = 0;
 4         int b = 0;
 5         int c = 0;
 6         int d = 0;
 7         System.out.println("請輸入10個數:");
 8         for (int i = 0; i < nums.length; i++) {
 9             nums[i] = input.nextInt();
10         
11             switch (nums[i]) {
12             case 1:
13                 a++;
14                 break;
15             case 2:
16                 b++;
17                 break;
18             case 3:
19                 c++;
20                 break;
21             default:
22                 d++;
23                 break;
24             }
25             
26         }
27         System.out.println("數字1的個數:"+a);
28         System.out.println("數字2的個數:"+b);
29         System.out.println("數字3的個數:"+c);
30         System.out.println("非法數字的個數:"+d);

例9:假設有一個數組,長度為5,int [] aray=new int[]{1,3,-1,5,-2},先創建一個新數組,要求新數組的存放順序與原數組的元素逆序,並且如果原數組中的元素值小於0,在新數組中安0存儲,

 1 Scanner input=new Scanner(System.in);
 2             
 3     int []array=new int[]{1,3,-1,5,-2};
 4     System.out.println("原數組的為:");
 5     for (int i = 0; i < array.length; i++) {
 6         System.out.print(array[i]+ " ");
 7     }
 8     System.out.println();
 9       int newarray[]=new int[5];
10       for (int i = array.length - 1; i >= 0; i--) {
11             if (array[i] < 0) {
12                 continue;
13             }
14             if (array[i] > 0) {
15                 newarray[array.length - i - 1] = array[i];
16             }
17         }
18         System.out.println("");
19         System.out.println("逆序並處理後的數組為:");
20         for (int i = 0; i < newarray.length; i++) {
21             System.out.print(newarray[i]+" ");
22         }
23          }

例10:

 1 public static void main(String[] args) {        
 2         Scanner input=new Scanner(System.in);    
 3         String[] musics = new String[]{"Island","Ocean","Pretty","Sun"};
 4         int index = musics.length; //保存新歌插入位置
 5         //輸出插入前的結果
 6         System.out.print("插入前的數組為:");
 7         for(int i = 0; i < musics.length ; i++){
 8         System.out.print(musics[i]+" ");
 9         }
10         //新數組
11         String[] newMusics = new String[musics.length+1];//新歌曲數組
12         String music = ""; //保存用戶輸入的歌曲名稱
13           //將數組musics中的元素複製到新歌曲數組newMusics中
14         for(int i = 0; i < musics.length; i++){
15         newMusics[i] = musics[i];
16         }
17         //輸入歌曲名稱
18        System.out.print("\n請輸入歌曲名稱:");
19         music = input.nextLine();
20         //找到新元素的插入位置
21         for(int i = 0; i < musics.length; i++){
22         if(musics[i].compareToIgnoreCase(music) > 0){ 
23             index = i;
24         break;
25         }
26         }
27         //元素後移
28         for(int i = newMusics.length-1; i > index; i--){
29         newMusics[i] = newMusics[i-1]; //index下標開始的元素後移一個位置
30         }
31         newMusics[index] = music; //新元素放在index的位置 地址
32         System.out.print("逆序處理後的數組為:");
33         for (int i = 0; i < newMusics.length; i++) {
34             System.out.print(newMusics[index]+" " );
35         }
36         
37         }
38     
39     }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 分類:C#、Android、VS2015; 創建日期:2016-02-06 這一章主要介紹Android簡單控制項的基本用法。本章源程式共有9個示例,這些示例都在同一個項目中。 項目名:ch05demos,項目模板:Blank App(Android) 運行主界面截圖如下: 點擊每行的示例項,即進入對
  • 分類:C#、Android、VS2015;創建日期:2016-02-06 開發人員可以用以下兩種方式聲明UI:一是通過.xml文件(不帶預覽界面)或者.axml文件(帶預覽界面)來描述;二是用C#代碼實現。 用.axml文件描述用戶界面(UI)時,設計器分為【設計】視圖和【源】視圖。這種方式的優點是
  • 問題背景:八皇後問題是一個以國際象棋為背景的問題:如何能夠在 8×8 的國際象棋棋盤上放置八個皇後,使得任何一個皇後都無法直接吃掉其他的皇後。為了達到這個目的, 任兩個皇後都不能處於同一條橫行、縱行或斜線上。 以下的代碼給出的解法應該是最容易理解的一種方法,本問題還可以用回溯法和遞歸解決,理論上效率
  • PID控制器的數字實現及C語法講解 概述 為方便學習與交流,根據自己的理解與經驗寫了這份教程,有錯誤之處請各位讀者予以指出,具體包含以下三部分內容: (1) PID數字化的推導過程(實質:微積分的近似計算); (2) 程式風格介紹(程式風格來源於TI官方案例); (3) C有關語法簡述(語法會結合實
  • 1 /*Joseph Problem 2 *利用單迴圈鏈表解決約瑟夫問題。 3 *問題描述:將n個數鏈接成一個環,從第m個開始,每次從1計數到s時 4 * 將s刪除。從下一個開始再次從1計數至s時刪除s。直到全 5 * 部刪除為止。 6 * */ 7 #include<stdio.h> 8 #inc
  • +=,-=,*=,/=隱含了強制類型轉換。 邏輯運算中,&和&&的區別為: &:無論左邊為真假,右邊都參與運算 &&:如果左邊為假,則右邊不參與運算,如果左邊為真,右邊參與運算。 異或操作可以實現兩個整數的交換(不需要額外空間開銷): a, b; a = a ^ b; b = a ^ b; a =
  • 本系列文章第二篇主要說明windows環境的編譯環境搭建以及編譯過程。 編譯環境選擇: 1.選用作神一樣存在的Microsoft Visual C++ Compiler for Python 2.7為編譯器使用。不選用vs的原因在於vs過於龐大不太適合我這種喜歡小而全的思想。這裡也沒有選擇Annou
  • 說明:本文主要參考自《分散式Java應用:基礎與實踐》 1、Java代碼執行流程 第一步:*.java-->*.class(編譯期) 第二步:從*.class文件將其中的內容載入到記憶體(類載入)(運行期) 第三步:執行代碼(運行期) 2、代碼編譯 javac命令將源碼文件編譯為*.class文件。
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...