<버블소트>
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 |