22 มกราคม 2555

[JAVA]การใช้ตัวแปร Collection Vector ของข้อมูลชนิดคลาส แบบฝึกหัดที่ 6.3


------------------------------------
 Customer
------------------------------------

package Banking;
import java.util.*;

public class Customer {
 private String firstName;
 private String lastName;
 private Account acct[];
 private Vector v = new Vector();
 private Enumeration e = v.elements();
 private int NumAccount=0;
 public Customer(String fName,String lName){
 firstName = fName;
 lastName = lName;
 acct = new Account[20];
 }
 public void setFirstName(String fName){
 firstName = fName;
 }
 public String getFirstName(){
 return firstName;
 }
 public void setLastName(String lName){
 lastName = lName;
 }
 public String getLastName(){
 return lastName;
 }
 public void setAccount(Account acct){
 acct = acct;
 }
 public Account getAccount(int index){
 return acct[index];
 }
 public void addAccount(Account acct){
 this.acct[NumAccount]=acct;
 NumAccount++;
 }
public int getNumAccount(){
 return NumAccount;
 }
 public void setVector(Account acct){
 this.v.add(acct.getBalance());
 }
 public void printReport()
 {
 for(int i=0;i
 System.out.println("Account"+(i+1)+" Balance :"+getAccount(i).getBalance());
 }
 public void printReport2(){
 int i=0;
 while(e.hasMoreElements()){
 System.out.println("Account"+(i + 1)+" Balance :"+e.nextElement());
 i++;
 }
 }
}

------------------------------------
 Account
------------------------------------

package Banking;

public class Account {
 protected double balance;
 public Account(double amount){
 balance = amount;
 }
 public void deposit(double amount){
 balance = balance + amount;
 }
 public boolean withdraw(double amount){
 boolean result = true;
 if(amount < balance){
 balance = balance - amount;
 }
 else{
 result = false;
 }
 return result;
 }
 public double getBalance(){
 return balance;
 }
 public void showBalance(){
 System.out.println(balance);
 }
 public Account(){

}
}

------------------------------------
 Teller
------------------------------------

import Banking.*;

public class Teller {
 public static void main(String args[]){

Customer cust = new Customer("Somchai","Sommut");
 Account acct1 = new Account(5000);
 Account acct2 = new Account(3000);

cust.addAccount(acct1);
 cust.addAccount(acct2);

acct1.deposit(4200);
 acct1.withdraw(3000);

acct2.deposit(3200);
 acct2.withdraw(1000);

cust.setVector(acct1);
 cust.setVector(acct2);

System.out.println(cust.getFirstName()+" "+cust.getLastName());
 System.out.println("Number of Account : "+cust.getNumAccount());

cust.printReport();
 cust.printReport2();
 }
}

29 พฤศจิกายน 2554

[JAVA] โปรแกรมแปลงเลขฐานสิบเป็นฐานใดๆ


import java.util.Scanner;
public class Exchange {  
// กำหนดตัวแปร
    public static void main(String [] args){
        int number, base;
        String basedNumber = "";
        int decNumber = 0;
        int iRemainder, c = ' ';
        char cRemainder = 0;
        Scanner key = new Scanner(System.in);
        // รับค่าตัวเลข และ ฐาน
        System.out.print("Enter number :");
        number=key.nextInt();

        do {
          System.out.print("Enter base (2-16): ");
          base =key.nextInt();
          if (base < 2 || base > 16)
              System.out.println("Invalid Base! Try again!");
        } while (base < 2 || base > 16);
        // แปลงเลขฐานสิบเป็นฐานใดๆ
        do {
          iRemainder = number % base; // หารเอาเศษ
          if (iRemainder >= 10) { // เศษมากกว่า 10 ต้องเปลี่ยนเป็น A,B,C,D,E,F
            switch (iRemainder) {
              case 10 : cRemainder = 'A'; break;
              case 11 : cRemainder = 'B'; break;
              case 12 : cRemainder = 'C'; break;
              case 13 : cRemainder = 'D'; break;
              case 14 : cRemainder = 'E'; break;
              case 15 : cRemainder = 'F'; break;
            }
            basedNumber = cRemainder + basedNumber; // ต่อสตริงจากหลังไปหน้า
          } else { // เศษ 0-9 เอามาต่อกับสตริงได้เลย เพราะ int จะถูกแปลงเป็น String อัตโนมัติ
            basedNumber = iRemainder + basedNumber; // ต่อสตริงจากหลังไปหน้า
          }
          number = number / base; // หารเลขด้วยฐาน
        } while (number > 0); // ทำไปจนกว่า number จะเป็น 0
        // แปลงเลขฐานใดๆ มาเป็นฐานสิบ
        c = 0;
        while (c < basedNumber.length()) {
          cRemainder = basedNumber.charAt(c);
          // เชคว่าเป็น Character ตัวใด แล้วเปลี่ยนให้เป็นตัวเลข
          switch (cRemainder) {
            case '0' : iRemainder = 0; break;
            case '1' : iRemainder = 1; break;
            case '2' : iRemainder = 2; break;
            case '3' : iRemainder = 3; break;
            case '4' : iRemainder = 4; break;
            case '5' : iRemainder = 5; break;
            case '6' : iRemainder = 6; break;
            case '7' : iRemainder = 7; break;
            case '8' : iRemainder = 8; break;
            case '9' : iRemainder = 9; break;
            case 'A' : iRemainder = 10; break;
            case 'B' : iRemainder = 11; break;
            case 'C' : iRemainder = 12; break;
            case 'D' : iRemainder = 13; break;
            case 'E' : iRemainder = 14; break;
            case 'F' : iRemainder = 15; break;
          }
          decNumber += iRemainder * (int) Math.pow(base, (basedNumber.length() - 1 - c)); // เอาเลขที่ได้คูณกับค่าประจำหลัก
          c++;
        }
        // แสดงผล
        System.out.println("Convert to base " + base + ": " + basedNumber);
        System.out.println("Convert back to base 10: " + decNumber);
    }
}

25 พฤศจิกายน 2554

[C++] โปรแกรมหา Series cos x ด้วยวิธี Maciaurin Series


สามารถเปลี่ยนมุมได้ตรงบรรทัด x = M_PI / 3
ในที่นี้ M_PI / 3 ก็คือ ไพน์ หาร ด้วย 3 นั่นเอง