1.定義一個函數,函數功能是動態提取int[]中元素的最大值。
class ArrayMax
{
public static void main(String[] args){
getMax(new int[]{5,2,7,9,2,8,1});
}
public static void getMax(int[] arr){
if(arr == null || arr.length == 0){
System.out.println("數組不存在!");
}
int temp=arr[0];
for(int i=0;i<arr.length;i++){
if(temp<arr[i]){
temp=arr[i];
}
}
System.out.println(temp);
}
}
2.定義一個函數,從數組中查詢指定的元素首次出現的位置。
class SearchArray
{
public static void main(String[] args){
System.out.println("指定的元素首次出現的位置爲"+searchArray(2, new int[]{5,6,1,4,2,9,8,7}));
}
public static int searchArray(int index,int[] arr){
int temp=-1;
if (arr==null || arr.length==0){
System.out.println("數組異常!");
}
for (int i=0;i<arr.length ;i++ ){
if (arr[i]==index){
temp=i;
break;
}
}
if (temp==-1){
System.out.println("數組中無該元素!");
}
return temp;
}
}
3.定義函數,完成冒泡排序,大數下沉。
class BubbleArray
{
public static void main(String[] args){
outArray(bubbleArray(new int[]{5,9,2,6,3,1,8,4,7}));
}
public static int[] bubbleArray(int[] arr){
for (int i=0;i<arr.length-1 ;i++ ){
for (int j=0;j<arr.length-i-1 ;j++ ){
int temp=0;
if (arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
public static void outArray(int[] arr){
for (int i=0;i<arr.length ;i++ ){
System.out.print(arr[i]+"\t");
}
}
}
4.折半查找。
class HalfFind{
public static void main(String[] args){
int temp;
temp=findArr(new int[]{1,2,3,4,5,6,7,8,9},2);
if (temp==-1){
System.out.println("該數組中無此數字!");
}
else {
System.out.println("該數字在此數組中爲第"+temp+"位");
}
}
public static int findArr(int[] arr,int x){
int a=0,b=arr.length-1,t=-1,mid=0;
while(a<=b){
mid=(a+b)/2;
if (arr[mid]==x){
t=mid;
break;
}
else if (x<arr[mid]){
b=mid-1;
}
else if (x>arr[mid]){
a=mid+1;
}
}
return t;
}
}
5.闡述
6.定義一個函數,實現矩陣的轉置.arr[i][j] == arr[j][i];//前提條件是正方的。
class TransArray{
public static void main(String[] args){
//定義一個5*5的數組
int[][] arr=new int[5][5];
int n=1;
for (int i=0;i<arr.length ;i++ ){
for (int j=0;j<arr[i].length ;j++ ){
arr[i][j]=n;
n++;
}
}
outArray(arr);
arr=transArray(arr);
System.out.println("數組轉置之後變爲:");
outArray(arr);
}
//打印數組
public static void outArray(int[][] arr){
for (int i=0;i<arr.length ;i++ ){
for (int j=0;j<arr[i].length ;j++ ){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
//轉置數組
public static int[][] transArray(int[][] arr){
int temp;
for (int i=0;i<arr.length ;i++ ){
for (int j=i;j<arr[i].length ;j++ ){
temp=arr[i][j];
arr[i][j]=arr[j][i];
arr[j][i]=temp;
}
}
return arr;
}
}
7.遍歷三維組數,橫向輸出三維數組的每一個層。
class ThreeArray{
public static void main(String[] args){
int[][][] arr=new int[3][3][3];
int n=1;
for (int i=0;i<arr.length ;i++ ){
for (int j=0;j<arr[i].length ;j++ ){
for (int k=0;k<arr[i][j].length ;k++ ){
arr[i][j][k]=n;
n++;
System.out.print(arr[i][j][k]+"\t");
}
System.out.println();
}
System.out.println("*******************************");
}
//橫向打印
for (int j=0;j<arr.length ;j++ ){
for (int i=0;i<arr[j].length ;i++ ){
for (int k=0;k<arr[i][j].length ;k++ ){
System.out.print(arr[i][j][k]+"\t");
}
System.out.print(" | ");
}
System.out.println();
}
}
}
8.定義一個類:Dog 有名稱 color age cry();
class ClassDog
{
public static void main(String[] args){
Dog teddi=new Dog("Teddi","brown",2);
System.out.print("Name:"+teddi.getName()+"\n"+"Age:"+teddi.getAge()+"\n"+"Color:"+teddi.getColor()+"\n");
teddi.cry();
}
}
class Dog
{
private String name;
private String color;
private int age;
public void cry(){
System.out.println("wang!wang!wang!!!");
}
public Dog(String name,String color,int age){
this.name=name;
this.color=color;
this.age=age;
}
public void setName(String name){
this.name=name;
}
public void setColor(String color){
this.color=color;
}
public void setAge(int age){
this.age=age;
}
public String getName(){
return this.name;
}
public String getColor(){
return this.color;
}
public int getAge(){
return this.age;
}
}
9.闡述出來堆區,棧區,何時出現溢出,如何解決。
10.oop