본문 바로가기
JAVA

221227_static

by 경 훈 2022. 12. 27.

여러개 객체가 자원(필드)를 공유하려면 반드시 필드 앞에 static

어떤 객체를 클래스에서 공유할려면 객체 앞에 static

 

package day17_FileTest;

import java.util.Arrays;
import java.util.Collections;

public class SortTest {

	public static void main(String[] args) {
		String [] spname = {"한라산","백두산","설악산","금강산","내장산"};
		System.out.println("오름차순 정열\n==========");
		Arrays.parallelSort(spname); //오름차순
		for(String a:spname) {
			System.out.println(a);
		}
		System.out.println("\n내림차순 정열\n==========");
		Arrays.sort(spname,Collections.reverseOrder());
		for(String a:spname) {
			System.out.println(a);
		}
	}
}

 

package day17_FileTest;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class SangPoom {

	public static void main(String[] args) throws FileNotFoundException {
		String [] spname = new String[10000];
		int [][] mae = new int [10000][4];
		FileReader fr = new FileReader("c:/data/12271.txt");
		BufferedReader br = new BufferedReader(fr);
		int i = -1; //배열 저장될 위치 0, 1, 2...
		while(true) {
			try {
				String aa = br.readLine();
				if(aa == null)break;
				i++; //실제 파일에 존재하는 데이터의 갯수
				spname[i] = aa.substring(0, 3);
				mae[i][0] = Integer.parseInt(aa.substring(3, 5));
				mae[i][1] = Integer.parseInt(aa.substring(5, 9));
				mae[i][2] = mae[i][0]*mae[i][1];
			}
			catch (IOException e) {
				e.printStackTrace();
			}
		}
		callout(spname,mae,i);//callout 메소드 호출하면서 배열명을 넘겨준다
	}
	private static void callout(String[] spname, int[][] mae, int su) {
		// 매출액 순위 구하기
		for(int i=0;i<=su;i++) {
			mae[i][3]=1;
			for(int j=0;j<=su;j++) {
				if(mae[i][2]<mae[j][2])mae[i][3]=mae[i][3]+1;
			}
		}
		System.out.println("이름\t수량\t단가\t매출액\t석차");
		System.out.print("================");
		System.out.println("===================");
		
		for(int i=0;i<=su;i++) {
			System.out.print(spname[i]+"\t");
			for(int j=0;j<4;j++) {
				System.out.print(mae[i][j]+"\t");
			}
			System.out.println(); //줄바꿈표시
		}
	}
}

 

package day17_FileTest;

public class ArrayTest {

	public static void main(String[] args) {
		int [][] a = new int [4][5];
		int k = 0;
		for(int i=0;i<=3;i++) {
			
			for(int j=0;j<=4;j++) {
				k++;
				a[i][j] =k;
			}
		}
		//출력
		for(int i=0;i<=3;i++) {
			for(int j=0;j<=4;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

public class ArrayTest {

	public static void main(String[] args) {
		int [][] a = new int [5][5];
		int k = 0;
		for(int i=0;i<=4;i++) {
			
			for(int j=0;j<=4;j++) {
				k++;
				a[j][i] =k;
			}
		}
		//출력
		for(int i=0;i<=4;i++) {
			for(int j=0;j<=4;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

public class ArrayTest {

	public static void main(String[] args) {
		int [][] a = new int [5][5];
		int k = 0;
		for(int i=0;i<=4;i++) {
			if(i%2==1) {
				for(int i1=4;i1>=0;i1--) {
					k++;
					a[i][i1]=k;
				}
			}
			else {
				for(int i2=0;i2<=4;i2++) {
					k++;
					a[i][i2]=k;
				}
			}
		}
		//출력
		for(int i=0;i<=4;i++) {
			for(int j=0;j<=4;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

public class Mabangjin {

	public static void main(String[] args) {
		//마방진은 가로의 합 = 세로의 합 = 대각선의 합이 동일하게 나열
		//마방진은 출력 형태를 보고 프로그램을 작성
		//1의 위치...행과열의 위치 결정
		//2마방진의 행과 열이 3,5,7,9,11 홀수만
		//데이터가 1씩 증가 예 3행 이라고 ... 데이터 3의배수 ? 공통점 찾기
		int [][] a = new int [3][3];
		int r=2,c=1; //1일 저장위치
		for(int k=1;k<=9;k++) { // K 자료가 1~9
			a[r][c]=k;
			if(k % 3 == 0) {
				r--; //행이 감소
			}
			else {
				r++;
				c++;
			}
			if(r>2) r=0;
			if(c>2) c=0;
		}
		for(int i=0;i<=2;i++) {
			for(int j=0;j<=2;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

public class Mabangjin {

	public static void main(String[] args) {
		int [][] a = new int [3][3];
		int r=1,c=2; //1일 저장위치
		for(int k=1;k<=9;k++) { // K 자료가 1~9
			a[r][c]=k;
			if(k % 3 == 0) {
				c--; //행이 감소
			}
			else {
				r--;
				c++;
			}
			if(r<0) r=2;
			if(c>2) c=0;
		}
		for(int i=0;i<=2;i++) {
			for(int j=0;j<=2;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

public class Mabangjin {

	public static void main(String[] args) {
		int [][] a = new int [5][5];
		int r=0,c=2; //1일 저장위치
		for(int k=1;k<=25;k++) { // K 자료가 1~9
			a[r][c]=k;
			if(k % 5 == 0) {
				r++; //행이 감소
			}
			else {
				r--;
				c++;
			}
			if(r<0) r=4;
			if(c>4) c=0;
		}
		for(int i=0;i<=4;i++) {
			for(int j=0;j<=4;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

public class Mabangjin {

	public static void main(String[] args) {
		int [][] a = new int [7][7];
		int r=0,c=3; //1일 저장위치
		for(int k=1;k<=49;k++) { // K 자료가 1~9
			a[r][c]=k;
			if(k % 7 == 0) {
				r++; //행이 감소
			}
			else {
				r--;
				c++;
			}
			if(r<0) r=6;
			if(c>6) c=0;
		}
		for(int i=0;i<=6;i++) {
			for(int j=0;j<=6;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

import java.util.Scanner;

public class Mabangjin {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("원하는 행 또는 열을 입력하세요");
		int n = sc.nextInt();
		int [][] a = new int [n][n];
		int r=0,c=n/2; //1일 저장위치
		for(int k=1;k<=n*n;k++) { // K 자료가 1~9
			a[r][c]=k;
			if(k % n == 0) {
				r++; //행이 감소
			}
			else {
				r--;
				c++;
			}
			if(r<0) r=n-1;
            if(c<0) c=n-1;
            if(r>n-1) r=0;
            if(c>n-1) c=0;
		}
		for(int i=0;i<=n-1;i++) {
			for(int j=0;j<=n-1;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

import java.util.Scanner;

public class Mabangjin {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("원하는 행 또는 열을 입력하세요");
		int n = sc.nextInt();
		int [][] a = new int [n][n];
		int r=2,c=4; //1일 저장위치
		for(int k=1;k<=n*n;k++) { // K 자료가 1~9
			a[r][c]=k;
			if(k % n == 0) {
				c--; //행이 감소
			}
			else {
				r++;
				c++;
			}
			if(r<0) r=n-1;
			if(c<0) r=c-1;
			if(c>n-1) c=0;
			if(r>n-1) r=0;
		}
		for(int i=0;i<=n-1;i++) {
			for(int j=0;j<=n-1;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

public class Snail {

	public static void main(String[] args) {
		int [][] a = new int [5][5];
		int r=0,c=-1,p=5,k=0,s=1;
		while(true) {
			for(int i=0;i<p;i++) {//p=5 열만 증가감소
				c=c+s;
				k++;
				a[r][c] = k;
			}
			if(p==1)break;
			else p--;
			for(int i=0;i<p;i++) {//p=5 행만 증가감소
				r=r+s;
				k++;
				a[r][c] = k;
			}
			s=s*-1;
		}
		//출력
		for(int i=0;i<5;i++) {
			for(int j=0;j<5;j++) {
				System.out.print(a[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
}

 

package day17_FileTest;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Static_Test {
	static String sun = "일요일";
	static String mon = "월요일";
	static String tue = "화요일";
	static String wed = "수요일";
	static String thu = "목요일";
	static String fri = "금요일";
	static String sat = "토요일";
	
	enum week{sun,mon,tue,wed,thu,fri,sat}
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(true) {
			try {
				System.out.print("원하는 번호(일:1~토:7)?");
				String bb = sc.next();
				int dd = Integer.parseInt(bb);
				String str;
				switch (dd) {
				case 1:str=Static_Test.sun;break;
				case 2:str=Static_Test.mon;break;
				case 3:str=Static_Test.tue;break;
				case 4:str=Static_Test.wed;break;
				case 5:str=Static_Test.thu;break;
				case 6:str=Static_Test.fri;break;
				case 7:str=Static_Test.sat;break;
				default:str="1-7이외의 값이 입력되었습니다";break;
				}
				System.out.println("입력한 숫자 "+dd+"이면 "+str);
			}
			catch(NumberFormatException e) {
				System.out.println("문자열을 입력하여 오류");
			}
		}
	}
}

 

package day17_FileTest;
//static 객체가 자원을 공유
class korea {
static int count = 0;
	public int out() {
		count++;
		return count;
	}
}
public class Static_Test2 {
	
	public static void main(String[] args) {
		korea k1 = new korea();
		System.out.println(k1.out());
		System.out.println(k1.out());
		System.out.println(k1.out());
		System.out.println(k1.out());
		korea k2 = new korea();
		System.out.println(k2.out());
		System.out.println(k2.out());
	}
}

'JAVA' 카테고리의 다른 글

221229_SingleTon  (0) 2022.12.29
221228_SingleTon  (0) 2022.12.28
221226_배열  (0) 2022.12.26
221223_상속  (0) 2022.12.23
221222_상속  (0) 2022.12.22

댓글