package oop.capsule;

import java.util.Scanner;

public class RecordView 
{

	
	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 void inputRecord(Record record) //성적입력함수
	{
		Scanner scan= new Scanner(System.in);
		int kor, eng, math; //임시변수선언
		
						System.out.println("┌─────────────────┐");
						System.out.println("│                   성적  입력                  │");
						System.out.println("└─────────────────┘");

						
					do{
							System.out.println("\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.setKor(record,kor);
					Record.setEng(record,eng);
					Record.setMath(record,math);
					
				
					
					
	}
	
	static void printRecord(Record record)//성적출력함수
	{
					
						int total = Record.total(record);
						float avg = total / 3.0f;	
									
						System.out.printf("┌─────────────────┐\n");
						System.out.printf("│           @본인 이름 성적표@           │\n");
						System.out.printf("├──┬──┬──┬──┬──┬──┤\n");
						System.out.printf("│번호│국어│영어│수학│총점│평균│\n");
					for(int i=0 ; i<3 ; i++)
						{
							System.out.printf("├──┼──┼──┼──┼──┼──┤\n");
							System.out.printf("│%-5d│%-5d│%-5d│%-5d│%-5d│%4.2f│\n",
									i+1,Record.getKor(record),Record.getEng(record),Record.getMath(record),total,avg);
						}
						System.out.printf("└──┴──┴──┴──┴──┴──┘\n");
	}
	
}



package oop.capsule;

import java.util.Scanner;

import oop.capsule.Record;

public class Program2
{
	
	public static void main(String[] args) 
	{
		Record record = new Record();
		
		
/*		int kor=0;
		int eng=0;
		int math=0;*/
		int menu;
		int i;
		
		Scanner scan = new Scanner(System.in);
		
		exit:while(true)
		{
			/*menu = inputMenu();*/
			
/*			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();*/
		
			switch(menu = RecordView.inputMenu())
			{
			
			case 1:
				
				RecordView.inputRecord(record);
			
	
					//inputRecord(kor,eng,math);
/*					System.out.println("┌─────────────────┐");
					System.out.println("│                   성적  입력                  │");
					System.out.println("└─────────────────┘");

					
				do{
						System.out.println("\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);
				*/
				break;

				
			case 2:
				
				RecordView.printRecord(record);
				
					/*total = kor + eng + math;
					avg = total / 3.0f;	
								
					System.out.printf("┌─────────────────┐\n");
					System.out.printf("│           @본인 이름 성적표@           │\n");
					System.out.printf("├──┬──┬──┬──┬──┬──┤\n");
					System.out.printf("│번호│국어│영어│수학│총점│평균│\n");
				for(i=0 ; i<3 ; i++)
					{
						System.out.printf("├──┼──┼──┼──┼──┼──┤\n");
						System.out.printf("│%-5d│%-5d│%-5d│%-5d│%-5d│%4.2f│\n",i+1,kor,eng,math,total,avg);
					}
					System.out.printf("└──┴──┴──┴──┴──┴──┘\n");*/
				
					break;
					
			case 3:
				
					System.out.println("프로그램이 종료됩니다.");	
					break exit;
					
			default:
					System.out.println("입력 오류");
			}
		}
	}
}
	

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을 반환한다

+ Recent posts