자바 학습 의 배열 1 (1. 배열 의 성명, 2. 요 소 는 데이터 형식 을 참조 하 는 배열 입 니 다. 3. main 방법 에 있 는 String [] args, 4. 배열 정렬, 5. 수 3 퇴 1 배열 알고리즘 (배열 로 링크 를 모 의 함), 6 배열 에서 찾 는 이분법, 7 배열 의 복사)
32794 단어 String
1. 배열 의 설명:
자바 언어 에서 배열 을 설명 할 때 길 이 를 지정 할 수 없습니다 (배열 에 있 는 요소 의 개수).
int a[5]; //불법
int a[][5]; //불법
2. 요 소 는 데이터 형식 을 참조 하 는 배열 입 니 다.
메모: 요 소 는 데이터 형식 을 참조 하 는 배열 의 모든 요 소 를 예화 해 야 합 니 다.
3. main 방법의 String [] args 에 대하 여:
String args [] 또는 String [] args 는 주 방법 에 문자열 배열 을 전달 하 는 것 을 표시 합 니 다.
1 public class TextNumSort {
2 public static void main(String[] args){
3 int[] a=new int[args.length];
4 for(int i=0;i<args.length;i++){
5 a[i]=Integer.parseInt(args[i]);
6 }
7 Print(a);
8 SelectionSort(a);
9 Print(a);
10 }
11
12 private static void Print(int[] arry){
13 for(int i=0;i<arry.length;i++){
14 System.out.print(arry[i]+" ");
15 }
16 System.out.println();
17 }
18 private static void SelectionSort(int[] arry){
19 int k,temp;
20 for(int i=0;i<arry.length;i++){
21 k=i;
22 for(int j=k+1;j<arry.length;j++){
23 if(arry[j]<arry[k]){
24 j=k;
25 }
26 if(k!=0){
27 temp=arry[k];
28 arry[k]=arry[j];
29 arry[j]=temp;
30
31 }
32 }
33 }
34 }
35 }
컴 파일 시 입력 배열: 41 15 48 54 79 41 48 61
출력 결과:
12 15 41 41 48 48 54 61 79
4. 배열 정렬:
거품 법 과 정렬 법 선택:
1 class Date{
2 public int year,month,day;
3 Date(int year,int month,int day){
4 this.year=year;
5 this.month=month;
6 this.day=day;
7 }
8 public int Compare(Date date){
9 return year>date.year?1:year<date.year?-1:month>date.month?1:month<date.month?-1:day>date.day?1:day<date.day?-1:0;
10 }
11 public String toString(){
12 return "year,month,day:"+year+"-"+month+"-"+day;
13 }
14 }
15 public class TextBubbleSort {
16 public static void main(String[] args){
17 Date[] days=new Date[5];
18 days[0]=new Date(2012,10,1);
19 days[1]=new Date(2011,5,1);
20 days[2]=new Date(2010,4,16);
21 days[3]=new Date(2004,10,16);
22 days[4]=new Date(2007,7,23);
23 Print(days);
24 BubbleSort(days);
25 Print(days);
26 }
27 private static void Print(Date[] a){
28 for(int i=0;i<a.length;i++){
29 System.out.print(a[i]+" ");
30 }
31 System.out.println();
32 }
33 /*public static Date[] SelectionSort(Date[] a){
34 int len=a.length;
35 int k,i,j;
36 for(i=0;i<len;i++){
37 for( j=i+1;j<len;j++){
38 k=i;
39 if(a[j].Compare(a[k])>0){
40 k=j;
41 }
42 if(k!=0){
43 Date temp;
44 temp=a[j];
45 a[j]=a[k];
46 a[k]=temp;
47 }
48
49 }
50 }
51 return a;
52 }*/
53
54 public static Date[] BubbleSort(Date[] a){
55 int len=a.length;
56 for(int i=len-1;i>0;i-- ){
57 for(int j=0;j<i;j++){
58 if(a[j].Compare(a[i])>0){
59 Date temp;
60 temp=a[j];
61 a[j]=a[i];
62 a[i]=temp;
63 }
64 }
65 }
66 return a;
67 }
68
69
70 }
71
메모: toString 방법 을 다시 씁 니 다.
출력 결과:
year,month,day:2012-10-1 year,month,day:2011-5-1 year,month,day:2010-4-16 year,month,day:2004-10-16 year,month,day:2007-7-23 year,month,day:2004-10-16 year,month,day:2007-7-23 year,month,day:2010-4-16 year,month,day:2011-5-1 year,month,day:2012-10-1
5. 1. 배열 알고리즘:
500 명 3 퇴 1
1 public class TextCount {
2 public static void main(String[] args){
3 boolean[] arr=new boolean[500];
4 for(int i=0;i<arr.length;i++){
5 arr[i]=true;
6 }
7 int leftCount=arr.length;
8 int countNum=0;
9 int index=0;
10 while(leftCount>1){
11 if(arr[index]==true){
12 countNum++;
13 if(countNum==3){
14 countNum=0;
15 arr[index]=false;
16 leftCount--;
17 }
18 }
19 index++;
20 if(index==arr.length){
21 index=0;
22 }
23 }
24 for(int i=0;i<arr.length;i++){
25 if(arr[i]==true){
26 i=i+1;
27 System.out.println("The last one's number is :"+i);
28
29 }
30 }
31 }
32 }
출력 결과: The last one 's number is: 436
5.1.2.
500 명 3 퇴 1
대상 지향 방법: (배열 로 링크 시 뮬 레이 션)
1 public class Count3Quit2 {
2
3 public static void main(String[] args) {
4 KidCircle kidCircle = new KidCircle(500);
5 int count = 0;
6 Kid kid = kidCircle.first;
7 while(kidCircle.count>1){
8 count++;
9 if(count==3){
10 count=0;
11 kidCircle.delete(kid);
12 }
13 kid = kid.right;
14 }
15 System.out.println(kidCircle.first.id);
16 }
17 }
18
19
20
21 class Kid {
22 int id;
23 Kid right;
24 Kid left;
25
26 Kid(int id) {
27 this.id = id;
28 }
29 }
30
31 class KidCircle{
32 int count;
33 Kid first;
34 Kid last;
35
36 KidCircle(int n){
37 for(int i=0;i<n;i++){
38 add();
39 }
40 }
41 public void add(){ // 。
42 Kid kid = new Kid(count);
43 if(count==0){
44 first = kid;
45 last = kid;
46 kid.right = kid;
47 kid.left = kid;
48 }else{
49 last.right = kid;
50 kid.left = last;
51 kid.right = first;
52 first.left = kid;
53 last = kid;
54 }
55 count++;
56 }
57
58 public void delete(Kid kid) {
59 if(count<=0)return;
60 else{
61 kid.left.right = kid.right;
62 kid.right.left = kid.left;
63 if(kid==first) {
64 first = kid.right;
65 }else if(kid==last){
66 last = kid.left;
67 }
68 count--;
69 }
70 }
71 }
6. 배열 찾기 의 이분법:
1 public static int binarySearch(int[] array, int value){
2 int low = 0; //
3 int high = array.length - 1; //
4 int middle; //
5 while(low <= high){
6 middle = (low+high) / 2;
7 for(int i=0; i<array.length; i++){
8 System.out.print(array[i]);
9 if(i == middle){
10 System.out.print("#"); // #
11 }
12 System.out.print(" "); //
13 }
14 System.out.println();
15 if(value == array[middle]){
16 return middle;
17 }
18 if(value < array[middle]){
19 high = middle - 1; //
20 }
21 if(value > array[middle]){
22 low = middle + 1; //
23 }
24 }
25 return -1; // -1
26 }
27 }
7. 배열 의 복사:
:System.arrycopy(args1,args2,args3,args4,args5);
args1:
args2:
args3:
args4:
args5:
1 public class TextArrayCopy {
2 public static void main(String[] args){
3 int[] myArray={1,2,3,4,5,6};
4 int hold[]={10,9,8,7,6,5,4,3,2,};
5 System.arraycopy(myArray,0,hold,0,myArray.length);
6 for(int i=0;i<hold.length;i++){
7 System.out.print(hold[i]);
8 }
9
10
11 }
12 }
출력 결과:
123456432
2 차원 배열 복사:
System.arraycopy(strArray[i], 0, copyArray[i], 0, strArray[i].length);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Access Request, Session and Application in Struts2If we want to use request, Session and application in JSP, what should we do? We can obtain Map type objects such as Req...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.