1. 程式人生 > >JAVA基本運算(二)

JAVA基本運算(二)

基本任務1

1)任務要求:

程式設計實現輸出0到100十個隨機整數,並對他們排序。

2)源程式如下所示:

public class bu01 //定義一個類
  {
    public static void main(String[] args)  //定義一個公開的靜態的主方法,是程式的執行入口
    {

        int[] arr = new int[10];  //定義一個整形陣列arr[],陣列長度為10
        for(int i=0;i<10;i++)  //for迴圈,當i<10時,迴圈繼續
        {    
            int b=(int)(Math.random()*100
); //隨機輸出100以內的一個整數賦值給b arr[i]=b; // 將b中的整數放陣列中 } for(int j=0;j<10;j++) //for迴圈,決定迴圈的次數 { //冒泡法,一次選出一個最值 for(int k=0;k<9-j;k++) { if(arr[k]>arr[k+1]) { int c=arr[k]; arr[k]=arr[k+1
]; arr[k+1]=c; //交換兩個數,使大的數在右邊 } } } for(int n=0;n<10;n++) { System.out.print(arr[n]+" ");//從小到大輸出產生的十個隨機數數 } } }

3)執行結果
每次執行都會產生十個隨機數,且從小到大順序排列,如下圖所示:
這裡寫圖片描述

基本任務2

1)任務要求:
設有兩字串構成的集合,字串內容值為

​ A:{a,b,c,d,e,f,g,in,off,about,get}

​ B:{f,g,a,come,get,go}

​ 求出:(1)AB集合的交集。

​ (2)只在A集中出現的字串集合。

​ (3)AB集合的並集。

2)原始碼:

import java.util.Arrays;//匯入java.util包中的Arrays類
import java.util.List;  //匯入java.util包中的List類
public class bu02 {     //定義一個類
    public static void main(String[] args) { //定義一個主方法 ,程式的入口

        //建立字串陣列,並對字串賦值
        String[] arr1 = {"a","b","c","d","e","f","g","in","off","about","get"};
        String[] arr2 = {"f","g","a","come","get","go"};

        //測試交集,呼叫交集方法
        String[] arr3 = intersect(arr1,arr2);
        System.out.print("AB集合的交集:");
        for(int i=0;i<arr3.length;i++) {//遍歷輸出結果字串陣列
            if(arr3[i] != null) {
                System.out.print(arr3[i]+" ");//輸出AB的交集
            }
        }
        System.out.println();//輸出後換行

        //測試只有A中有的元素,呼叫method方法
        String[] arr4 = method(arr1,arr2);
        System.out.print("只在A集中出現的字串集合:");
        for(int i=0;i<arr4.length;i++) {//遍歷輸出結果字串陣列
            if(arr4[i] != null) {
                System.out.print(arr4[i]+" ");//輸出這個arr4[]陣列
            }
        }
        System.out.println();//輸出後換行

        //測試並集,呼叫union方法
        String[] arr5 = union(arr1,arr2);
        System.out.print("AB集合的並集:");
        for(int i=0;i<arr5.length;i++) {//遍歷輸出結果字串陣列
            if(arr5[i] != null) {
                System.out.print(arr5[i]+" ");
            }
        }
    }

    //(1)AB集合的交集。
    public static String[] intersect(String[] a1,String[] a2) {
        String[] a3 = new String[10];//建立字串陣列物件    
        int k = 0;
        for(int i=0;i<a1.length;i++) {
            for(int j=0;j<a2.length;j++) {
                if(a1[i].equals(a2[j])) {//判斷兩元素是否相同
                    a3[k] = a1[i];//相同則記錄到新的陣列中
                    k++;
                }
            }
        }
        return a3;
    }

    //(2)只在A集中出現的字串集合。  
    public static String[] method(String[] a1,String[] a2) {
        String[] a3 = new String[10];//建立字串陣列物件
        int k = 0;
        for(int i=0;i<a1.length;i++) {
            List<String> list = Arrays.asList(a2);//將字串陣列a2轉換成list
            if(!list.contains(a1[i])) {//呼叫list的contains方法,判斷list中是否含有某元素
                a3[k] = a1[i];//不含,則記錄到新陣列中
                k++;
            }
        }
        return a3;
    }

    //(3)AB集合的並集。
    public static String[] union(String[] a1,String[] a2) {
        String[] a3 = new String[20];//建立字串陣列物件
        System.arraycopy(a1, 0, a3, 0, a1.length);
        int k = a1.length;
        List<String> list = Arrays.asList(a1);
        for(int i=0;i<a2.length;i++) {
            if(!list.contains(a2[i])) {
                a3[k+1] = a2[i];
                k++;
            }
        }
        return a3;
    }
}

3)執行結果
這裡寫圖片描述

基本任務3

1)任務要求:

程式設計實現一個命令窗程式,使得:

​ 輸入“A”則在屏上回顯A字元的ASCII碼。

​ 輸入“4”則在屏上回顯4字元的ASCII碼。

​ 輸入“我”則在屏上回顯“我”字的漢字內碼。

等等。

​ 輸入ByeBye則退出程式.

2)原始碼

import java.util.Scanner;     //匯入Java.util包下的Scanner類
public class Ascii {          //定義一個類
    public static void main(String[] args) {//定義一個公開的靜態的主方法,是程式的執行入口
        Scanner sc = new Scanner(System.in); //定義一個Scanner物件,等待從鍵盤上輸入 
        System.out.print("請輸入:");//提示請輸入
       String str=sc.next();//讀取一個字串
        while(!str.equals("ByeBye")) {//當字串內容不為ByeBye時,執行以下迴圈
            System.out.println((int)str.charAt(0));    //將字元轉化成內碼
                          System.out.print("請輸入:");//提示請輸入
                          str=sc.next();//讀取一個字串 
                      }
                      System.out.println("程式結束");//輸出程式結束 
                      System.exit(0);//終止程式
                }   
          }

3)編譯、執行結果
這裡寫圖片描述