JAVA基本運算(二)
阿新 • • 發佈:2019-01-06
基本任務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)編譯、執行結果