package oop.capsule;

public class Record {
		int kor;
		int eng;
		int math;
		

		public static int total(Record record)
		{ 
			
			return record.kor + record.eng + record.math;
		}
		
		
		
		
		
		public static int getKor(Record record)
		{
			return record.kor;
		}

		public static int getEng(Record record)
		{
			return record.eng;
		}
		
		public static int getMath(Record record)
		{
			return record.math;
		}
		
		
		
		
		
		
		public static void setKor(Record record,int kor)
		{
			record.kor=kor;
		}

		public static void setEng(Record record, int eng)
		{
			record.eng=eng;
		}
		
		public static void setMath(Record record, int math)
		{
			record.math=math;
		}
		
		
		
		
}


* 다른곳에서 필드명이 쓰일경우 수정의 어려움이 있어 Record 클래스안에서 모든걸 정의함 (수정의 용이함)



package file;



import java.io.FileInputStream;

import java.io.IOException;

import java.util.Scanner;



public class Program2 {



	public static void main(String[] args) throws IOException 

	{

		

		FileInputStream fin = new FileInputStream("res/a.smi");



		Scanner fscan = new Scanner(fin);

		

		/*FileOutputStream fout = new FileOutputStream("d:\\data.txt");

		PrintStream out = new PrintStream(fout);*/

		

		Scanner scan = new Scanner(System.in);

		System.out.printf("어떤 단어가 들어간 문장을 원하십니까?");

			

		String q=scan.next();

		

		

		

		

		for(int i=0; fscan.hasNext(); i++)

		{

			//읽기

			String line = fscan.nextLine();

			

			//조작

			//line=line.replace("int", "정수");

			

		if(line.indexOf(q)!= -1)

			System.out.println(line.indexOf(q));

		

			

			//저장

			//out.printf("%2d. \t%s\r\n",i+1,line);

		}

		

		

		/*out.close();

		fout.close();*/

		

		fscan.close();

		fin.close();

		

		

	}



}

line.indexOf() 사용시 문자 검색값이 있을경우 그문자의 시작위치(0부터시작), 없을경우 -1을 반환한다
package file;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Scanner;

public class Program {

	public static void main(String[] args) throws IOException 
	{
		
		FileInputStream fin = new FileInputStream("C:\\workspace\\JavaPrj\\src\\array\\my.java");

		Scanner fscan = new Scanner(fin);
		
		FileOutputStream fout = new FileOutputStream("d:\\data.txt");
		PrintStream out = new PrintStream(fout);

		for(int i=0; fscan.hasNext(); i++)
		{
			//읽기
			String line = fscan.nextLine();
			
			//조작
			//line=line.replace("int", "정수");
			
			//저장
			out.printf("%2d. \t%s\r\n",i+1,line);
		}
		
		
		out.close();
		fout.close();
		
		fscan.close();
		fin.close();
		
		
	}

}

package struct;


import java.util.Scanner;


import struct.Record;


public class Program3

{

//**********************메인함수**********************

public static void main(String[] args) 

{

Scanner scan = new Scanner(System.in);

int num;

System.out.print("몇명의 성적을 관리 하겠습니까?");

num = scan.nextInt();

Record[] records = new Record[num];

int size=0;

int menu;

exit:while(true)

{

switch(menu = inputMenu())

{

case 1:

size = inputRecord(records, size, num);

break;


case 2:

printRecord(records, size);

if(size == num) //성적관리숫자 만족시킬경우 프로그램종료

break exit;

break;

case 3:

System.out.println("프로그램이 종료됩니다.");

break exit;

default:

System.out.println("입력 오류");

}

}

}

//**********************메뉴출력함수**********************

static int inputMenu() 

{

Scanner scan= new Scanner(System.in);

int menu;

System.out.println("┌─────────────────┐");

System.out.println("│                   메인  메뉴                  │");

System.out.println("└─────────────────┘");

System.out.print("\t\t1.성적 입력\n");

System.out.print("\t\t2.성적 출력\n");

System.out.print("\t\t3.종료\n");

menu = scan.nextInt();

return menu;

}

//**********************성적입력함수**********************

static int inputRecord(Record[] record, int size, int num) 

{

Scanner scan= new Scanner(System.in);

int kor, eng, math; //임시변수선언

int current=size;

System.out.println("┌─────────────────┐");

System.out.println("│                   성적  입력                  │");

System.out.println("└─────────────────┘");

while(true)

{

do{

System.out.print("\t\t국어 :");

kor = scan.nextInt();

if(kor<0 || kor>100)

System.out.println("범위벗어남");

}

while(kor<0 || kor>100);

do{

System.out.print("\t\t영어 :");

eng = scan.nextInt();

if(eng<0 || eng>100)

System.out.println("범위벗어남");

}

while(eng<0 || eng>100);

do{

System.out.print("\t\t수학 :");

math = scan.nextInt();

if(math<0 || math>100)

System.out.println("범위벗어남");

}

while(math<0 || math>100);

record[current] = new Record();

record[current].kor=kor;

record[current].eng=eng;

record[current].math=math;

current++;

System.out.print("끝내시겠습니까? 1=계속,2=끝");

int isContinue = scan.nextInt();

if(isContinue == 1)

{

if(num==current)

return current;

else

continue;

}

else

return current;

}

}

//**********************성적출력함수**********************

static void printRecord(Record[] records, int size)

{

System.out.printf("┌─────────────────┐\n");

System.out.printf("│           @본인 이름 성적표@           │\n");

System.out.printf("├──┬──┬──┬──┬──┬──┤\n");

System.out.printf("│번호│국어│영어│수학│총점│평균│\n");

for(int i=0 ; i<size ; i++)

{

Record record = records[i];

int total = record.kor + record.eng + record.math;

float avg = total / 3.0f;

System.out.printf("├──┼──┼──┼──┼──┼──┤\n");

System.out.printf("│%-5d│%-5d│%-5d│%-5d│%-5d│%4.2f│

\n",i+1,record.kor,record.eng,record.math,total,avg);

}

System.out.printf("└──┴──┴──┴──┴──┴──┘\n");

}

}

+ Recent posts