검색결과 리스트
글
비행기
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 {
}
설정
트랙백
댓글
글
삽입 정렬
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 |
설정
트랙백
댓글
글
그림 파일불러오기
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 |
설정
트랙백
댓글
글
자바 Referenced Libraries 만들기
| |
자바에서 직접 라이브러리를 만들어서 활용해보자.
1. 생성할 프로젝트를 정한다.
2. 지정한 프로젝트에 마우스를 대고 우클릭을하고 Export를 클릭한다.
3. Export창이 뜨는데 Java를 클릭해보면 JAR file이 보인다 (Jar 만들 소스를 컴파일 함과 동시에 Jar로 만들어준다) Next.
4. Jar Export창에서 Jar파일을 만들 소스와 export할 위치를 설정해준다. (javaPrj - src - exam패키지 안에 Record와 RecordView를 묶어서 Jar파일을 생성)
5. 라이브러리를 불러올 프로젝트 마우스 우클릭 - Build Path - Configure Build Path
6. Properties for javaPrj창이 뜬다.
7. Java Build Path메뉴에서 Libraries탭을 선택한 후 Add External JARs...를 클릭
8. jar파일을 불러온다
9. 생성된 라이브러리를 확인할 수 있다. OK를 누르자
10. 왼쪽아래 Referenced Libraries가 생성된 것을 확인할 수 있다.
|
'개발 > 이론' 카테고리의 다른 글
MVC 1, MVC 2 차이 (0) | 2017.12.06 |
---|---|
자바 세마포어( JAVA Semaphore ) (0) | 2015.12.29 |
9월 11일 (0) | 2013.09.12 |
9월 9일 (0) | 2013.09.12 |
설정
트랙백
댓글
글
캡슐 이해 (오목)
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
=========메인 함수===========
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 |
설정
트랙백
댓글
글
상속(예제)
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
'개발 > 코딩' 카테고리의 다른 글
캡슐 이해 (오목) (0) | 2013.10.07 |
---|---|
get,set이용해서 성적입력 Ver2 (0) | 2013.10.02 |
get,set이용해서 성적입력. (0) | 2013.10.01 |
입력 단어와 일치하면 그 라인에 있는 문자 출력하기(자막) (0) | 2013.09.30 |
무슨 파일 읽어오고 수정하고 그런거.. (0) | 2013.09.27 |
설정
트랙백
댓글
글
get,set이용해서 성적입력.
==========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;
}
}
'개발 > 코딩' 카테고리의 다른 글
get,set이용해서 성적입력 Ver2 (0) | 2013.10.02 |
---|---|
상속(예제) (0) | 2013.10.01 |
입력 단어와 일치하면 그 라인에 있는 문자 출력하기(자막) (0) | 2013.09.30 |
무슨 파일 읽어오고 수정하고 그런거.. (0) | 2013.09.27 |
성적입력(최종) (0) | 2013.09.26 |
설정
트랙백
댓글
글
입력 단어와 일치하면 그 라인에 있는 문자 출력하기(자막)
==해당 입력 단어 라인을 출력==
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 |
설정
트랙백
댓글
글
무슨 파일 읽어오고 수정하고 그런거..
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();
}
}
'개발 > 코딩' 카테고리의 다른 글
get,set이용해서 성적입력. (0) | 2013.10.01 |
---|---|
입력 단어와 일치하면 그 라인에 있는 문자 출력하기(자막) (0) | 2013.09.30 |
성적입력(최종) (0) | 2013.09.26 |
성적관리->> 함수 쓰고, 클래스 써서 (0) | 2013.09.25 |
함수쓰는거 업그레이드 (0) | 2013.09.24 |