숫자 맞추기 겜

개발/코딩 2013. 10. 11. 20:25

import java.util.Random;
import java.util.Scanner;

public class 연습 {
 public static void main(String[] args) {
  Scanner scan = new Scanner(System.in);
  Random rand = new Random();
  int j = rand.nextInt(100);
  int k = 1;
  int low=0;
  int high=100;
  while (k == 1) {
   int i = scan.nextInt();
   if (j < i) {
    System.out.println("더 낮게");
    high=i;
    System.out.printf(low+"-"+high);
    
   } else if (j > i) {
    System.out.println("더 높게");
    low=i;
    System.out.printf(low+"-"+high);
   }
   else if (j == i) {
    System.out.println("맞다");
    System.out.println("다시 하겠습니까?(1/2)");
    k = scan.nextInt();
    if(k==1){
    System.out.println("시작");
    j = rand.nextInt(100);
    high=100;
    low=0;
    }
    else{
     System.out.println("종료");
     }
    }
   }
  }
 }

 

'개발 > 코딩' 카테고리의 다른 글

JSP특징  (0) 2013.11.15
비행기 겜 완성  (0) 2013.10.21
비행기  (0) 2013.10.11
삽입 정렬  (0) 2013.10.11
그림 파일불러오기  (0) 2013.10.10

비행기

개발/코딩 2013. 10. 11. 17:54

 

package shooting;

public class Enemy {
 private EnemyMissile[] missiles;
 
 public Enemy() {
 missiles=new EnemyMissile[100];
}
 
}
======================================

package shooting;

public class EnemyMissile {

}
=====================================

package shooting;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;

public class Fighter {
 private UserMissile missiles[];
 private Image img;
 private int x,y;  //뱅기 좌표
 private int speed;
 public Fighter() {
  
  missiles=new UserMissile[100]; //미사일 보유
  x=170;
  y=500;
  speed=5; //스피드 만큼 좌표를 바꾼다
  Toolkit tk=Toolkit.getDefaultToolkit();  //윈도우 제공
  img=tk.getImage("res/fighter.png");  //이미지 불러오는거
 }
 
 public void paint(Graphics g,GameBoard parent) {
  g.drawImage(img,x,y,parent);  //게임 보드에 그림을 그려달라
  }

 public void move(int key) {
 switch(key){
 case KeyEvent.VK_LEFT:
  x -= speed;
  break;
 case KeyEvent.VK_RIGHT:
  x += speed;
  break;
 case KeyEvent.VK_DOWN:
  y += speed;
  break;
 case KeyEvent.VK_UP:
  y -= speed;
  break;
 }
  
 }
}

====================================

package shooting;

import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

public class GameBoard extends Canvas { // 겜보드가 세가지를 가지고 있다.
 private Fighter fighter; // Canvas는 윈도우가 제공해주는거(도화지 역할)
 private Enemy[] enemies;
 private StatusBar statusBar; // 정의만 한다
 private Image img; // 함수를 구현할때 필요한 이미지

 public GameBoard() {
  fighter = new Fighter(); // 객체 생성
  enemies = new Enemy[100]; // 참조할수 있게 배열 선언,객체 생성은 안됐다.
  statusBar = new StatusBar();

  Toolkit tk = Toolkit.getDefaultToolkit(); // 윈도우 제공
  img = tk.getImage("res/우주.jpg"); // 이미지 불러오는거
  addKeyListener(new KeyAdapter() {  //KeyListener와 달리 어탭더 안에 세가지 기능이 있다.
                                                       //public void keyPressed(KeyEvent e)
                                                       //public void keyReleased(KeyEvent e) { } 
                                                       //public void keyTyped(KeyEvent e) { }
  public void keyPressed(KeyEvent e) {
   int key = e.getKeyCode();

   switch (key) {
   case KeyEvent.VK_LEFT: // 비행기를 왼쪽으로
   case KeyEvent.VK_RIGHT:
   case KeyEvent.VK_DOWN:
   case KeyEvent.VK_UP:

   fighter.move(key); // key 가 눌리면 무브함수가 바꿔주지만 그림은 바뀌지않는다.
   break;
   }
   repaint(); // 화면을 다시 그리게 한다.

   }
  });

 }

 public void paint(Graphics g) {

  super.paint(g);
  g.drawImage(img, 0, 0, this); // 그림을 그려달라
  fighter.paint(g, this);    // 파이터에 그림을 그려달라(그림 그리는 도구,도화지)
 }
}


/*
 * MyKeyListener클래스를 처음에는 생성했는데 필요 없다. //public class MyKeyListener implements
 * KeyListener { //키입력받는 기능을 구현하겠다 //내부 클래스
 * public void keyPressed(KeyEvent e) {
 * // 키가 눌리는거에 관심
 *
 * final int LEFT=37;final int RIGHT=39; //상수형 변수는 대문자로
 *
 * int key = e.getKeyCode();
 *
 * switch (key) {
 * case KeyEvent.VK_LEFT: //비행기를 왼쪽으로
 * case KeyEvent.VK_RIGHT:
 * case KeyEvent.VK_DOWN:
 * case KeyEvent.VK_UP:
 *
 * fighter.move(key); //key 가 눌리면 무브함수가 바꿔주지만 그림은 바뀌지않는다.
 * break; }
 * repaint();
 * //화면을 다시 그리게 한다. }
 *
 * public void keyReleased(KeyEvent arg0) { // 키가 떼는거에 관심
 * }
 * public void keyTyped(KeyEvent arg0) { // 어떤 문자가 눌렸는지 관심(화살표 누르면 실행X)
 *
 * } }
 */
/*
 * -------------------------------------------------------------------
 *
 * addKeyListener(new KeyListener() { //클래스를 생성할 필요 없다.
 *          한번만 객체 생성하면 되기때문에,익명클래스
 * public void keyPressed(KeyEvent e) {
 *
 * int key = e.getKeyCode();
 *
 * switch (key) {
 * case KeyEvent.VK_LEFT: // 비행기를 왼쪽으로
 * case KeyEvent.VK_RIGHT:
 * case KeyEvent.VK_DOWN:
 * case KeyEvent.VK_UP:
 *
 * fighter.move(key); // key 가 눌리면 무브함수가 바꿔주지만 그림은 바뀌지않는다. break; } repaint();
 * // 화면을 다시 그리게 한다. }
 *
 * public void keyReleased(KeyEvent e) { }
 * public void keyTyped(KeyEvent e) { }
 * });
 */
============================================================================

 

package shooting;

import java.awt.Frame;

public class MainFrame extends Frame//윈도우가 제공
 //private SplashBoard splashBoard;  //게임 전 스페이스를 눌러 게임시작하는거
 private GameBoard gameBoard;
 //private RankingBoard rankingBoard;
 
 public MainFrame() {
  gameBoard=new GameBoard();
  this.add(gameBoard); //이걸 해줘야 게임이 뜬다. add는 프레임에 보드 붙여준다.
 }
}
=====================================

package shooting;

public class Program {
 public static void main(String[] args){
  //GameBoard gameBoard=new GameBoard(); 안된다 Frame부터 띄워야한다.
  MainFrame frm=new MainFrame();
  frm.setSize(420,500);
  frm.setVisible(true);
 }
}
==========================================

package shooting;

public class StatusBar {

}
================================

package shooting;

public class UserMissile {

}

'개발 > 코딩' 카테고리의 다른 글

비행기 겜 완성  (0) 2013.10.21
숫자 맞추기 겜  (0) 2013.10.11
삽입 정렬  (0) 2013.10.11
그림 파일불러오기  (0) 2013.10.10
캡슐 이해 (오목)  (0) 2013.10.07

삽입 정렬

개발/코딩 2013. 10. 11. 09:15

package Group;

public class InsertionSort {
 public static void main(String[] args){
  int[] A={31,25,12,22,11};
  int buf,j;
  for(int i=1;i<5;i++){
   buf=A[i];
   for(j=i-1;j>-1;j--){
    if(buf<A[j]){
     A[j+1]=A[j];
    }
    else    
     break;  // j 가 0이 되면 for 문을 벗어난다
   }
  
  A[j+1]=buf;
  for(int k=0;k<5;k++)
   System.out.printf("%d ",A[k]);
  System.out.println();
   }

 }
 }
====결과 창====

11, 12, 22, 25, 31

'개발 > 코딩' 카테고리의 다른 글

숫자 맞추기 겜  (0) 2013.10.11
비행기  (0) 2013.10.11
그림 파일불러오기  (0) 2013.10.10
캡슐 이해 (오목)  (0) 2013.10.07
get,set이용해서 성적입력 Ver2  (0) 2013.10.02

그림 파일불러오기

개발/코딩 2013. 10. 10. 16:31

import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;


public class MyFrame extends Frame{

 private Image img;
 public MyFrame(){
  Toolkit tk=Toolkit.getDefaultToolkit();
  img=tk.getImage("res/222.jpg");  //이미지 선택
 }
 public void paint(Graphics g) {
  
  super.paint(g);
  try{
   int offy=0;
  g.drawImage(img,0,0,210,60,0,0,200,50,this);//시작좌표(너비),시작좌표(높이),끝,끝,가져올이미지의<<
  Thread.sleep(500);  //0.5초 간격으로 멈추기
  
  offy +=10;
  g.drawImage(img,0,0,210,60,0,0+offy,500,200+offy,this  Thread.sleep(500);
  offy +=10;
  
  g.drawImage(img,0,0,210,60,0,0+offy,500,200+offy,this  Thread.sleep(500);
  offy +=10;
  
  g.drawImage(img,0,0,210,60,0,0+offy,500,200+offy,this  Thread.sleep(500);
  offy +=10;
  g.drawImage(img,0,0,210,60,0,0+offy,500,200+offy,this  Thread.sleep(500);
  offy +=10;
  g.drawImage(img,0,0,210,60,0,0+offy,500,200+offy,this  Thread.sleep(500);
  offy +=10;
 
  
  g.drawImage(img,0,0,210,60,0,0+offy,500,200+offy,this 
 
  }catch(InterruptedException e){
  e.printStackTrace();
  
  }
 } 
 
}

'개발 > 코딩' 카테고리의 다른 글

비행기  (0) 2013.10.11
삽입 정렬  (0) 2013.10.11
캡슐 이해 (오목)  (0) 2013.10.07
get,set이용해서 성적입력 Ver2  (0) 2013.10.02
상속(예제)  (0) 2013.10.01

캡슐 이해 (오목)

개발/코딩 2013. 10. 7. 15:50

package com.newlecturegame;

public class Program {
 public static void main(String[] args){
  MenuView menuView=new MenuView();   //객체 생성
  GameView gameView=new GameView();
  RankView rankView=new RankView();
  
  menuView.print();         //메인메뉴 화면 출력, print 선택하고 F3누르면 해당 프린트로 이동
  int menu=menuView.input();     //메인메뉴에서 메뉴 선택
  
  switch(menu)
  {
  case 1:
   gameView.print();   //게임 선택시 게임화면 출력
   break;
  case 2:
   break;
  }
 }

}

=====================================================================================

package com.newlecturegame;

import java.util.Scanner;

public class MenuView {
 public void print() {
  System.out.println("1. 1인용");
  System.out.println("2. 순위보기");
  System.out.println("3. 종료하기");
  System.out.print(">");
 }

 public int input() {
  Scanner scan=new Scanner(System.in);  //메뉴 입력
  int menu=scan.nextInt();
  
  return menu;
 }
}
=====================================================================================

package com.newlecturegame;

public class GameView {
 private OmokBoard board; // GameView 가 보드,상태바,겜메뉴를 포함하고 있다.
 private StatusBar statusBar;
 private GameMenu menu;

 public GameView() { // 생성자 Ctrl+Space+Enter누르면 자동 생성
  board = new OmokBoard(30,20); // 객체 생성,(오목 보드 크기 생성)
  statusBar = new StatusBar();
  menu = new GameMenu();
 }

 public void print() { // print 할거 모아놈
  board.print(); // .print 빨간줄 클릭하면 함수 생성.
  statusBar.print();
  menu.print(); //게임화면 메뉴 프린트
  
  switch(menu.input()) { //게임화면에서 메뉴 입력
  case 1:
   Omok omok=new Omok();  //오목 생성
   omok.input();
   board.put(omok);  //보드에 오목을 둬야한다.
   break;
  case 2:
   break;
  case 3:
   break;
  default:
   break;
  }
 }
}

===================================================================================

package com.newlecturegame;

import java.util.Scanner;

public class GameMenu {

 public void print() {
  System.out.println("1>오목두기\n2>한수봐줘\n3>도움말");  
 }
 public int input() {
 /* MenuView menu=new MenuView();  메뉴뷰에 있는 input가져올수있다.*/
  System.out.print("선택 :");
  Scanner scan=new Scanner(System.in);  //게임화면에서 메뉴 입력
  int menu=scan.nextInt();
  return menu;
 }
}
=================================================================================

package com.newlecturegame;

import java.util.Scanner;

public class Omok {
 private int x;
 private int y;
 private int type;
 
 public void input(){
  
 System.out.println("(x,y)를 입력해주세요.");
 Scanner scan=new Scanner(System.in);
 x=scan.nextInt();
 y=scan.nextInt();
 }
}

=================================================================================

package com.newlecturegame;

public class OmokBoard {
 
 private char [][] buf; //연산자가 들어갈수없다. 함수안에서만 연산자 가능
 private int width;    //너비
 private int height;   //높이
 
 public OmokBoard(int width,int height){   //GameView에서 입력받는다.
  this.width=width;
  this.height=height;
  int i,j;
  buf=new char[height][width];   //세로,가로
  for(i=0;i<height;i++){
   for(j=0;j<width;j++){
   buf[i][j]='┼';
  }
 }
}
 public void print() {    //바둑판 출력
  int i,j;
  for(i=0;i<height;i++){
   for(j=0;j<width;j++){
 
   System.out.printf("%c",buf[i][j]);
   }
   System.out.println();
  }
 }
 public void put(Omok omok) { //GameView,board.put(omok);에서 빨간줄 클릭해서 생성
 }

}

=================================================================================

package com.newlecturegame;

public class RankView {

}

=================================================================================

package com.newlecturegame;

public class StatusBar {

 public void print() {
  System.out.println("turn : KCH");
  
 }

}

 

 


 

'개발 > 코딩' 카테고리의 다른 글

삽입 정렬  (0) 2013.10.11
그림 파일불러오기  (0) 2013.10.10
get,set이용해서 성적입력 Ver2  (0) 2013.10.02
상속(예제)  (0) 2013.10.01
get,set이용해서 성적입력.  (0) 2013.10.01

get,set이용해서 성적입력 Ver2

개발/코딩 2013. 10. 2. 17:37

=========메인 함수===========

 

package oop.instance;
import java.util.Scanner;

public class Program2{
 public static void main(String[] args) {
  Record record = new Record();
  int total = 0;
  float avg = 0;
  int menu = 0;
  Scanner a = new Scanner(System.in);
  Scanner in = new Scanner(System.in);
  뿅:while (true) {
    
   switch (RecordView.inputMenu()) {
   
   case 1:
    RecordView.inputRecord(record);
    break;

   case 2:
    RecordView.printRecord(record);
    break;
    
   case 3:
    System.out.println("종료됩니다");
    break 뿅;
    
   default:
    System.out.println("입력이 잘못됐습니다. 다시 입력하세요");
   }
  }
 }
}

 

 

=============레코트 뷰===========================

package oop.instance;
import java.util.Scanner;


public class RecordView {
 private Record record;
 public static int inputMenu(){
  int menu;
  Scanner in = new Scanner(System.in);
  System.out.println("┌─────────────────────────────┐");
  System.out.println("│           메인 메뉴             │");
  System.out.println("└─────────────────────────────┘");
  System.out.println("1.성적 입력");
  System.out.println("2.성적 출력");
  System.out.println("3.종료");
  System.out.print("선택>");
  menu = in.nextInt();
  return menu;
 }

 public static void inputRecord(Record record){
  int kor,eng,math;
  Scanner a = new Scanner(System.in);
  System.out.println("┌─────────────────────────────┐");
  System.out.println("│           성적 입력             │");
  System.out.println("└─────────────────────────────┘");

  do {
   System.out.print("국어:");
   kor = a.nextInt();

   if (kor < 0 || kor > 100)
    System.out.println("성적 범위를 벗어났습니다,다시 입력하세요");
  } while (kor < 0 || kor > 100);

  do {
   System.out.print("영어:");
   eng = a.nextInt();

   if (eng < 0 || eng > 100)
    System.out.println("성적 범위를 벗어났습니다,다시 입력하세요");
  } while (eng < 0 || eng > 100);

  do {
   System.out.print("수학:");
   math = a.nextInt();

   if (math < 0 || math > 100)
    System.out.println("성적 범위를 벗어났습니다,다시 입력하세요");
  } while (math < 0 ||math > 100);

  record.setKor(kor); //record는 객체, 값을 담을수 있는 공간
  record.setEng(eng); //record에 eng을 세팅해줄래?(eng)값으로
  record.setMath(math); //record.math(30);으로 해도 되는데, 구조 바뀔까바
 }
 
 public static void printRecord(Record record){
  int total = record.total(); //다른클래스의 이름을 변경(kor=>kor1)하면 여기에서만 오류 날 수 있도록(?)
  float avg = total / 3.0f;    
  System.out.println("┌─────────────────────────────┐");
  System.out.println("│           성적 출력              │");
  System.out.println("├────┬────┬────┬────┬────┬────┤");
  System.out.println("│ 번호 │ 국어 │ 영어 │ 수학 │ 총점 │ 평균 │");
  for (int i = 0; i < 3; i++) {
   System.out.println("├────┼────┼────┼────┼────┼────┤");
   System.out.printf("│%3d │%3d │%3d │%3d │%3d │%6.2f │\n",i + 1,
 record.getKor(), record.getEng(),record.getMath(), total, avg);
  }       //Racord 클래스에 과목(값)을 얻어주라는 뜻.get
  System.out.println("└────┴────┴────┴────┴────┴────┘"); 
 }
}
 

=====================레코트 클래스=======================

package oop.instance; //코드의 캡슐화

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

 

 public int total() {
  return this.kor + this.eng + this.math;
 }

 public void setKor(int kor){
  this.kor=kor;
 }
 public int getKor() {
  return this.kor;
 }
 public void setEng(int eng){
  this.eng=eng;
 }
 public int getEng() {
  return this.eng;
 }
 public void setMath(int math){
  this.math=math;
 }
 public int getMath() {
  return this.math;
 }
}
//static 을 지우면 인스턴스 함수(객체 함수)가 된다

 

 

 

 

 

 

'개발 > 코딩' 카테고리의 다른 글

그림 파일불러오기  (0) 2013.10.10
캡슐 이해 (오목)  (0) 2013.10.07
상속(예제)  (0) 2013.10.01
get,set이용해서 성적입력.  (0) 2013.10.01
입력 단어와 일치하면 그 라인에 있는 문자 출력하기(자막)  (0) 2013.09.30

상속(예제)

개발/코딩 2013. 10. 1. 20:17

class Person{
 int age;  //default 접근자 생략
 public String name;
 protected int height;
 private int weight;
 public void setWeight(int weight){ // 5.  4번에서 63값을 받는다
  this.weight=weight;  // 6.  63값을 받아서 private weight에 반환해준다 
  System.out.println(weight);  //weight 출력하려면 여기밖에 없음.
 }
 public int getWeight(){
  return weight;
 }
}
public class 연습 extends Person{
 void set(){   // 3.  default 접근자 생략
  age=26;
  name="김창훈";
  height=169;
  setWeight(63);    // 4.  setWeight에 63 인자값을 넘겨준다
  System.out.println(age);     //age,name,height는 슈퍼클래스에서도 출력 가능
  System.out.println(name);
  System.out.println(height);
 }
 public static void main(String[] args){
  연습 s =new 연습(); //  1. 값변수(?) 생성   //연습은 heap에 저장이 되고
  s.set();    //  2.  s 는 stack 에 저장되고 heap을 가르킨다.
  int i=s.getWeight(); //그냥 get함수 받아본거야.
  System.out.println(i);
 }
}

=======출력=====

63              weight 값
26              age
김창훈        name
169            height
63             getWeight

get,set이용해서 성적입력.

개발/코딩 2013. 10. 1. 17:58

==========main 함수========================================================

package oop.capsule;
import java.util.Scanner;

public class Program2{
 public static void main(String[] args) {
  Record record = new Record();
  int total = 0;
  float avg = 0;
  int menu = 0;
  Scanner a = new Scanner(System.in);
  Scanner in = new Scanner(System.in);
  뿅:while (true) {
    
   switch (RecordView.inputMenu()) {
   
   case 1:
    RecordView.inputRecord(record);
    break;

   case 2:
    RecordView.printRecord(record);
    break;
    
   case 3:
    System.out.println("종료됩니다");
    break 뿅;
    
   default:
    System.out.println("입력이 잘못됐습니다. 다시 입력하세요");
   }
  }
 }
}

=====main을 제외한 나머지 함수================================================================

package oop.capsule;
import java.util.Scanner;


public class RecordView {

 public static int inputMenu(){
  int menu;
  Scanner in = new Scanner(System.in);
  System.out.println("┌─────────────────────────────┐");
  System.out.println("│           메인 메뉴             │");
  System.out.println("└─────────────────────────────┘");
  System.out.println("1.성적 입력");
  System.out.println("2.성적 출력");
  System.out.println("3.종료");
  System.out.print("선택>");
  menu = in.nextInt();
  return menu;
 }

 public static void inputRecord(Record record){
  int kor,eng,math;
  Scanner a = new Scanner(System.in);
  System.out.println("┌─────────────────────────────┐");
  System.out.println("│           성적 입력             │");
  System.out.println("└─────────────────────────────┘");

  do {
   System.out.print("국어:");
   kor = a.nextInt();

   if (kor < 0 || kor > 100)
    System.out.println("성적 범위를 벗어났습니다,다시 입력하세요");
  } while (kor < 0 || kor > 100);

  do {
   System.out.print("영어:");
   eng = a.nextInt();

   if (eng < 0 || eng > 100)
    System.out.println("성적 범위를 벗어났습니다,다시 입력하세요");
  } while (eng < 0 || eng > 100);

  do {
   System.out.print("수학:");
   math = a.nextInt();

   if (math < 0 || math > 100)
    System.out.println("성적 범위를 벗어났습니다,다시 입력하세요");
  } while (math < 0 ||math > 100);
  /*  record.kor=kor;
   record.eng=eng;
   record.math=math;  */
  Record.setKor(record, kor);   //Record 함수에 kor값 setting
  Record.setEng(record, eng);
  Record.setMath(record, math);
 }
 
 public static void printRecord(Record record){
  int total = Record.total(record); //다른클래스의 이름을 변경(kor=>kor1)하면 여기에서만 오류 날 수 있도록
  float avg = total / 3.0f;    
  System.out.println("┌─────────────────────────────┐");
  System.out.println("│           성적 출력              │");
  System.out.println("├────┬────┬────┬────┬────┬────┤");
  System.out.println("│ 번호 │ 국어 │ 영어 │ 수학 │ 총점 │ 평균 │");
  for (int i = 0; i < 3; i++) {
   System.out.println("├────┼────┼────┼────┼────┼────┤");
   System.out.printf("│%3d │%3d │%3d │%3d │%3d │%6.2f │\n",i + 1,
 Record.getKor(record), Record.getEng(record),Record.getMath(record), total, avg);
  }       //Racord 클래스에 과목을 얻어주라는 뜻.get
  System.out.println("└────┴────┴────┴────┴────┴────┘"); 
 }
}
 

===============Record class (get,set 을 이용하여)==========================

(코드의 캡슐화) -> 궁극적인 목적은 데이터에 대한 보호,외부접근 제한등을 위한것.

    접근을 금지하는것이 "정보 은닉화"

package oop.capsule;

public class Record { // 함수안에 선언한게 아니라서 값을 넣는 공간아님.
      // (함수안에있는 것만 선언한것. class에는 정의한것.)
 int kor;
 int eng;
 int math;
 
  /* 데이터가 중첩될수도, 안될수도 있지만 구조변경에서 자유로울 수 있어야한다. 따라서 구조를 변경하기 위해서 함수를 이용함.
  * (구조를 변경했을 때 문제가 되는것은 다 Record 클래스 안에 있음) */

 public static int total(Record record)
 // 데이터변경을 자유롭게하기위해 total함수를 만들어서 사용.
 {
  return (record.kor + record.eng + record.math);
 }

 public static int getKor(Record record) {
  return record.kor;
 }

 public static void setKor(Record record, int kor) {
  record.kor = kor;
 }

 public static int getEng(Record record) {
  return record.eng;
 }

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

 public static int getMath(Record record) {
  return record.math;
 }

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

입력 단어와 일치하면 그 라인에 있는 문자 출력하기(자막)

개발/코딩 2013. 9. 30. 15:50

==해당 입력 단어 라인을 출력==

package file;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
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);

    System.out.println("어떤 단어가 들어간 문장을 원하니?");
    Scanner sc=new Scanner(System.in); //단어 입력 스케너
    String word=sc.next(); //문자 스케너
    
   for(int i=0;fscan.hasNext();i++) // hasNext 다음에 읽어올 줄이 있으면 true해서 읽어오고 없으면 false
   {
    String line = fscan.nextLine();
    
    if (line.indexOf(word) != -1){  //만약 입력단어와 일치하다면 출력 여기서,-1은 맞는 단어가 없단뜻
     System.out.println(line);
    }
   
   }
  
   fscan.close();
   fin.close();
  }
 }

==해당 입력 단어 라인에 []추가 해서출력==

package file;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
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);

    System.out.println("어떤 단어가 들어간 문장을 원하니?");
    Scanner sc=new Scanner(System.in); //단어 입력 스케너
    String word=sc.next(); //문자 스케너
    
   for(int i=0;fscan.hasNext();i++) // hasNext 다음에 읽어올 줄이 있으면 true해서 읽어오고 없으면 false
   {
    String line = fscan.nextLine();
    
    if (line.indexOf(word) != -1){  //만약 입력단어와 일치하다면 출력 여기서,-1은 맞는 단어가 없단뜻
     line=line.replace(word,"["+word+"]"); //조작,입력 단어에 [ ] 추가
     System.out.println(line); //해당 라인 출력
    }
   
   }
  
   fscan.close();
   fin.close();
  }
 }

 

'개발 > 코딩' 카테고리의 다른 글

상속(예제)  (0) 2013.10.01
get,set이용해서 성적입력.  (0) 2013.10.01
무슨 파일 읽어오고 수정하고 그런거..  (0) 2013.09.27
성적입력(최종)  (0) 2013.09.26
성적관리->> 함수 쓰고, 클래스 써서  (0) 2013.09.25

무슨 파일 읽어오고 수정하고 그런거..

개발/코딩 2013. 9. 27. 17:57

package file;

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

public class Program {
 public static void main(String[] args) throws IOException {
  FileInputStream fin = new FileInputStream // 파일 경로??
  ("D:\\java\\workspace\\javaprj\\src\\calendar\\Program.java");
  // 백슬러시 두번씩 해줘야 한다.
  Scanner fscan = new Scanner(fin);  //fin 파일을 읽어온다(?)

  FileOutputStream fout = new FileOutputStream("d:\\date.txt"); // d드라이브에 텍스트 파일 생성
                  
  PrintStream out = new PrintStream(fout); // 출력 스트림
  
  for(int i=0;fscan.hasNext();i++)// hasNext 다음에 읽어올 줄이 있으면 true해서 읽어오고 없으면 false
  {
   //읽기
   String line = fscan.nextLine(); // input 스트림으로 읽어와서
   //조작
   line=line.replace("int", "정수"); //int 를 정수로 바까쥼
   //아웃
   out.println(i++ +" "+line); // 라인 읽어온것을 보여준다, 각 라인에 숫자
  }
  out.close(); // 문을 닫아줘야한다. 안하면 다른곳에서 실행하고 있다는 오류
  fout.close();
  fscan.close();
  fin.close();
 }
}