자바 3-1 중간고사

from JAVA 2013. 4. 26. 11:31

<버블소트>

class Test

{

public static void main(String[] args){

int[] arr = {10,9,8,7,6,5,4,3,2,1};

for(int i=0; i<arr.length-1; i++){

for(int j=0; j<arr.length-1; j++)

if (arr[j] > arr[j+1])

{

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

for (int i=0; i<arr.length ; i++ ) //여기서 length-1을 해버리면 9까지만 출력된다.

System.out.println(arr[i]);

}

}


------------------------------------------------------------------------------------------------------

<팩토리얼 커맨드라인>

import java.io.*; //잊지말것

class FactQuoter 

{

public static void main(String[] args) throws IOException // 쓰로우 해줘야함.

{

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

for(;;)

{

System.out.print("대화하자");

String line = in.readLine();

if((line==null) || line.equals("tuiq")) break;

//try{

int x = Integer.parseInt(line);

System.out.println(x + "!=" + Factorial(x));

//}

//catch(Exception e){}

}

}

public static int Factorial(int x){ //메모리에 올려주는 static 써줄것

int fact = 1;

for (int i=2; i<=x; i++ ) //2부터 시작해서 x랑 '같거나' 작을때까지

fact *=i;

return fact;

}

}


------------------------------------------------------------------------------------------------------

<링크드리스트>

import java.util.LinkedList; //p180 큐 자료구조 참조

//poll() : 

public class Test

{

public static void main(String[] args)

{

LinkedList a = new LinkedList();

LinkedList b = new LinkedList();

String[] alphabet = {"A", "B", "C", "D", "E"};

System.out.println("하나씩 들어가는걸 그냥 출력");

for(int i=0; i<5; i++){

a.add(alphabet[i]);

System.out.println(a);

}

System.out.println();

//----a.add()의 맛보기-------------


for (int i=0; i<5; i++){

a.add(alphabet[i]); 

/*다시 alphabet[0]~[5]까지 들어간다.

이 루프문에서. 리스트 a에 이미 저장된 ABCDE 뒤에 다시 또 ABCDE가 붙을것이다.*/

System.out.println("a 리스트에 들어간것들을 출력"); 

System.out.println(a);

/*출력하면 A,B,C,D,E,A 가 될것이다.

뒤에 붙은 A가 new challenger~~루프가 돌면서 점점 BCDE도 붙겠지.*/

System.out.println("첫번째 엘리먼트를 검색후 삭제");

a.poll(); 

/*↑첫번째 엘리먼트(객체)를 검색한 후 삭제한다. 즉 'A'를 지운다.

이걸 프린트문에 넣으면 'A'가 찍히긴한다.('검색'도 겸하므로.. 그리곤 삭제하겠지)*/

System.out.println("peek사용");

System.out.println(a.peek()); 

//첫번째 엘리먼트(객체)를 검색하되 삭제는 하지 않는다. A는 위에서 삭제했으므로 B가 나온다.

}


System.out.println("\n복사하기");

System.out.println(a);

b=(LinkedList)a.clone(); //리스트를 복사한다.

System.out.println(b);

}

}

------------------------------------------------------------------------------------------------------

뒤집어서 출력

import java.io.*;

class Test

{

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

{

for(int i=0; i<=args.length-1; i++){

// i<=args.length-1, 여기서 '<='를 주의깊게 보자. =없으면 하나 덜 나온다.

for(int j=args[i].length()-1; j>=0; j--){

//여러개의 args값을 받아올 수 있는 프로그램으로, 현재 해당하는 arg 문자열을 역으로 수행

//또 args가 배열값이므로 length에 ()를 붙여줘야 된다. 원래 배열은 length()인가 봄..

System.out.print(args[i].charAt(j));

}

System.out.println();

}

}

};

-----------뒤집어서 출력 대화식으로 하기

import java.io.*;

class Test

{

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

{

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

for(;;){

String line = in.readLine();

for(int j=line.length()-1; j>=0; j--){ //여기선 for를 한번만 사용하면 된다.

System.out.print(line.charAt(j));

}

System.out.println();

}

}

};

-------------------------------------------------------------------------------------------------------

계좌 클래스

class Account 

{

String accountNo;

String ownerName;

int balance; //잔액

Account(String accountNo, String ownerName, int balance){

this.accountNo = accountNo;

this.ownerName = ownerName;

this.balance = balance;

}


void deposit(int amount){ //입금

balance += amount;

}


int withdraw(int amount) throws Exception{ //출금

if(balance < amount)

throw new Exception("잔액이 부족합니다.");

balance -= amount;

return amount;

}

}

---------

class InheritanceExample1 

{

public static void main(String[] args) 

{

CreditLineAccount obj = new CreditLineAccount("11122-33333333", "홍길동",  100000 );

/*obj.accountNo = "11122-33333333";

obj.ownerName="홍길동";

obj.cardNo = "5555-6666-7777-8888";

obj.deposit(100000);*/

try{

int paidAmount = obj.withdraw(47000 );

System.out.println("지불액 : " + paidAmount);

System.out.println("잔액 : " + obj.balance);

}

catch(Exception e){

String msg = e.getMessage();

System.out.println(msg);

}

}

}

-------------------------------------------------------------------------------------------------------

인터페이스

class AppCDInfo extends CDInfo implements Lendable{메소드1()};

class  SeparateVolume implements Lendable{메소드2()};

interface Lendable 

{

abstract 메소드1(String borrower, String date);

abstract 메소드2();

}

--------------------------------------------------------------------------------------------------------

파일쓰기

FileWriter writer = null;

try{

writer = new FileWriter("output.txt");

String arr[] = {"씨부럴 내가 누군지 알아? 엉? 엉? 에잉썅나"};

//char arr[] = {'씨','부','럴'};

for(int cnt=0; cnt<arr.length; cnt++)

writer.write(arr[cnt]);

}


파일읽기

FileReader reader = null; //초기화

try{

reader = new FileReader("poem.txt"); //텍스트 파일 로딩

while(true){

int data = reader.read(); //읽은 값을 카운터

if (data == -1) break;

char ch = (char)data;

System.out.print(ch);

}


'JAVA' 카테고리의 다른 글

멀티스레드 참고 & 과제 만드는 중..  (0) 2013.05.07
네이트온 GUI 제작 완성  (0) 2013.05.05
멀티스레드 소스&PPT  (0) 2013.05.03
역삼각형 별을 찍는 간단한 프로그래밍  (0) 2013.04.19
스윙 버튼 생성&배치  (0) 2012.10.31
,