<배열을 이용하여 정렬>

==Console==

<Select Sort>

 

==Console==

<성적순으로 나열하기>

//똑같은 것을 퍼가실수 있게 소스코드로 한것임(위에 보시는것 성적순)

package com.day5;

import java.util.Scanner;

public class Test3 {

	public static void main(String[] args) {
		
			//10명 이내의 이름과 점수를 입력받아 점수가 높은 사람에서 낮은 사람 순으로 출력
		
		Scanner sc = new Scanner(System.in);
		// Scanner의 객체를 생성함.//메모리를 할당함 등등...
		
		int i,j,inwon,temp1;
		String temp2;
				
		int[] score;
		String[] name;
		
		do{
			System.out.print("인원수[1~10]? ");//3
			inwon = sc.nextInt();
		}while(inwon<1 || inwon>10);
		
		//객체 생성(메모리 할당)
		score = new int[inwon];
		name = new String[inwon];
		
		//인원수 만큼 이름과 점수 입력
		
		for(i=0;i<inwon;i++){
			
	 		System.out.print((i+1)+"번째 이름?");
			name[i] = sc.next();
			
			System.out.print("점수?");
			score[i] = sc.nextInt();
			
		}	
		
		//정렬
		
		for(i=0;i<inwon-1;i++){
			for(j=i+1;j<inwon;j++){
				
				if(score[i]<score[j]){
					
					temp1 = score[i];
					score[i] = score[j];
					score[j] = temp1;
					
					temp2 = name[i];
					name[i] = name[j];
					name[j] = temp2;
					
				}
			}
		}
		
		//출력
		for(i=0;i<inwon;i++){
		
			System.out.printf("%6s %4d\n",name[i],score[i]);
			
		}
	
		sc.close();
	}

}

==Console==

<로또>

//소스코드

package com.day5;

import java.util.Random;

public class Test4 {

	public static void main(String[] args) {
		
		//1~45까지의 수 중 6개의 난수를 발생시켜 크기 순으로 출력
		
		Random rd = new Random(); //copy의 개념
		
		int[] num = new int[6];
		
		int i,j,su,temp;
		
		su = 0;
		
		// 반복의 횟수를 알 수 없을 때 사용
		while(su<6){
			
			num[su] = rd.nextInt(45)+1; //nextInt(45) : 0에서 44번까지의 45개 숫자를 꺼냄
			
			for(i=0;i<su;i++){
				if(num[i]==num[su]){
					su--;
					break;
				}
			}
			
			su++;

		}
		
		//정렬
		
		for(i=0;i<num.length-1;i++){
			for(j=i+1;j<num.length;j++){
				if(num[i]>num[j]){
					temp = num[i];
					num[i] = num[j];
					num[j] = temp;
											
				}
				
			}
		}
		
		
		//출력
		for(int n : num){
			System.out.printf("%4d",n);
		}
		
		System.out.println();

	}

}

==Console==난수를 발생시켜 로또번호가 나옴

<성적으로 석차를 구하기>

//소스코드

package com.day5;

import java.util.Scanner;

public class Test5 {

	public static void main(String[] args) {
		
			//10명 이내의 이름과 점수를 입력받아 석차(rank)를 구하시오.
		    //석차가 높은 사람에서 낮은 사람 순으로 출력
		
		Scanner sc = new Scanner(System.in);
		
		int i,j,inwon;
				
		int[] score;
		String[] name;
		int[] rank;
		
		do{
			System.out.print("인원수[1~10]? ");//3
			inwon = sc.nextInt();
		}while(inwon<1 || inwon>10);
		
		//객체 생성(메모리 할당)
		score = new int[inwon];
		name = new String[inwon];
		rank = new int[inwon];
		//인원수 만큼 이름과 점수 입력
		
		for(i=0;i<inwon;i++){
			rank[i]++;
		}
		
		for(i=0;i<inwon;i++){
			
	 		System.out.print((i+1)+"번째 이름?");
			name[i] = sc.next();
			
			System.out.print("점수?");
			score[i] = sc.nextInt();
			
		}	
		
		//석차계산
		
		for(i=0;i<inwon-1;i++){
			for(j=i+1;j<inwon;j++){
				if(score[i]>score[j]){
					rank[j]++;
				}else if(score[i]<score[j]){
					rank[i]++;
				}
			}
		}
		
		
		//출력
		for(i=0;i<inwon;i++){
		
			System.out.printf("%6s %4d %4d\n",name[i],score[i],rank[i]);
			
		}
	
		sc.close();
	}

}

==Console==

<앞의 방법과 다르게 1등 순서대로 나오게 하기>

package com.day5;

import java.util.Scanner;

public class Test6 {

	public static void main(String[] args) {
		
			//10명 이내의 이름과 점수를 입력받아 석차(rank)를 구하시오.
			//석차가 높은 사람에서 낮은 사람 순으로 출력
		
		Scanner sc = new Scanner(System.in);
		
		int i,j,inwon,temp1;
		String temp2;
				
		int[] score;
		String[] name;
		int[] rank;
		
		do{
			System.out.print("인원수[1~10]? ");//3
			inwon = sc.nextInt();
		}while(inwon<1 || inwon>10);
		
		//객체 생성(메모리 할당)
		score = new int[inwon];
		name = new String[inwon];
		rank = new int[inwon];
		
		for(i=0;i<inwon;i++){
			rank[i] = 1;
		}
		
		//인원수 만큼 이름과 점수 입력
		
		for(i=0;i<inwon;i++){
			
	 		System.out.print("이름?");
			name[i] = sc.next();
			
			System.out.print("점수?");
			score[i] = sc.nextInt();
			
		}	
		
		//정렬
		
		for(i=0;i<inwon-1;i++){
			for(j=i+1;j<inwon;j++){
				
				if(score[i]<score[j]){
					
					temp1 = score[i];
					score[i] = score[j];
					score[j] = temp1;
					
					temp2 = name[i];
					name[i] = name[j];
					name[j] = temp2;
										
				}
			}
		}
		
		for(i=0;i<inwon-1;i++){
			for(j=i+1;j<inwon;j++){
				
				if(score[i]>score[j]){
					
					rank[j] += 1;
				}
			}
		}
		
		//출력
		
		
		for(i=0;i<inwon;i++){
		
			System.out.printf("%6s %4d %4d등\n",name[i],score[i],rank[i]);
			
		}
	
		sc.close();
	}

}

==Console==

<입력된 값에서 가장 큰수와 작은 수 >

//소스

package com.day5;

import java.util.Scanner;

public class Test7 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int i,max=0,min=0;
		int num[] = new int[5];
		
		System.out.println("5개의 정수를 입력하시오. ");
		for(i=0;i<num.length;i++){
			num[i] = sc.nextInt();
		}
		
		max = num[0];
		min = num[0];
			
		for(i=0;i<num.length;i++){
			if(max<num[i]){
				max = num[i];
			}
			if(min>num[i]){
				min = num[i];
			}
		}

		System.out.printf("가장 큰수 : %d, 가장 작은 수 : %d",max,min);
		
		sc.close();
		
	}

}

==Console==

==소스==

package com.day5;
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;
public class Test9 {
	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		
		Random rd = new Random();
		
		int num=0, nansu;
		char ch;
		String[] str = {"가위","바위","보"}; 	
		
		
		System.out.println("---------가위바위보 게임---------");
		
		while(true){
			nansu = rd.nextInt(3);
			
			do{
				System.out.println("1: 가위, 2: 바위, 3: 보");
				System.out.println("너는 어떤거 낼래? ");
				num = sc.nextInt();
			}while(num<1||num>3);
				
			num -= 1;
			System.out.printf("컴퓨터 : %s, 사람 : %s\n"
			,str[nansu],str[num]);
			System.out.println("-------------------------------");
			
			if(nansu==num){
				System.out.println("컴퓨터와 비겼습니다.");
			}else if((num+2)%3==nansu){
				System.out.println("당신이 이겼습니다.");
			}else{
				System.out.println("컴퓨터가 이겼습니다..");
			}
			
			System.out.println("계속 하시겠습니까? ");
			ch = (char)System.in.read();
			if(ch != 'Y' && ch!= 'y'){
				break;
			}
			System.out.println("----------------------------------------");
		}
		
		sc.close();
	}
}

==Console==

+ Recent posts