2010年12月18日 星期六

Java 解碼器

密碼學裡面有一種很簡單的加密方式,就是把明碼的每個字元加上某一個整數K而得到密碼的字元
(明碼及密碼字元一定都在ASCII碼中可列印的範圍內)

輸入:
Olss^vysk

輸出:
HellWorld


import java.util.Scanner;

public class Password {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        String str;
        StringBuffer sb;

        while(sc.hasNext()){
            str = sc.nextLine();
            sb  = new StringBuffer();
 
            for(int i = 0; i < str.length(); i++){
                sb.append((char)(str.charAt(i) - 7));
            }
            System.out.println(sb);
        }
    }
}

2010年12月13日 星期一

Java 等比數列

輸入幾組數列
輸入4個數字,並推算出第5個數字

輸入:
2
1 2 3 4
1 2 4 8

輸出:
1 2 3 4 5
1 2 4 8 16


import java.util.Scanner;
import java.io.*;

public class Test{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();
        int [][] b;
        b = new int [a][5];

        for(int i = 0; i < a; i++){
            for(int j = 0; j < 4; j++){
                b[i][j] = sc.nextInt();
            }
            if( b[i][3]-b[i][2] == b[i][1]-b[i][0] ){
                b[i][4] = b[i][3] + ( b[i][3]-b[i][2] );
            }
            else{
                b[i][4] = b[i][3] * (b[i][3] / b[i][2]);
            }
            for(int x = 0; x < 5; x++){
                System.out.print(b[i][x] + " ");
            }
            System.out.println();
        }
    }
}

2010年12月12日 星期日

Java 建立寫入讀取

建立.txt文字檔案
import java.io.*;

public class CreateTxt{
     public static void main(String args[])throws IOException{
          File newTxt = new File("test.txt");

          if( !newTxt.exists() ){
               //在此java檔目錄下建立test.txt檔
               newTxt.createNewFile();
          }
          else{
               System.out.println("檔案已存在!");
          }
     }
}


寫入文字檔案

import java.io.*;

public class WriteTxt{
     public static void main(String args[])throws IOException{
          FileWriter dataFile = new FileWriter("test.txt");
          BufferedWriter input = new BufferedWriter(dataFile);

          //輸入Hello! World! 到test.txt檔裡
          input.write("Hello! World!");

          //寫入完關閉檔案,並儲存
          input.close();
     }
}


讀取文字檔案

import java.io.*;

public class ReadTxt{
     public static void main(String args[])throws IOException{
          FileReader dataFile = new FileReader("test.txt");
          BufferedReader output = new BufferedReader(dataFile);

          String str;
          while( (str = output.readLine()) != null ){
                 System.out.println(str);
          }

          output.close();
     }
}

2010年12月7日 星期二

Android 連網權限

當寫完有上網功能的程式,執行時卻不能連網時須設置權限

首先打開AndroidManifest.xml檔案

加入下面這一段程式碼
<uses-permission   android:name="android.permission.INTERNET"  />

這樣程式就能有連網權線了

2010年12月4日 星期六

Android音樂播放器

音樂位置  /res/raw/

package ccc.txt;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;

public class Player extends Activity {
    private ImageButton play, pause, stop;
    private MediaPlayer mp;
    private boolean bIsPaused = false;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //player
        mp = new MediaPlayer();
        mp = MediaPlayer.create(getBaseContext(), R.raw.test);
        //按鈕
        play = (ImageButton) findViewById(R.id.button_Play); 
        pause = (ImageButton) findViewById(R.id.button_Pause); 
        stop = (ImageButton) findViewById(R.id.button_Stop);
        //播放
        play.setOnClickListener(new ImageButton.OnClickListener() {
                public void onClick(View arg0) {
                    try {
                        mp.prepare();
                        mp.start();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
        });
        //暫停
        pause.setOnClickListener(new ImageButton.OnClickListener() {
                 public void onClick(View arg0) {
                     if (!bIsPaused) {
                         mp.pause();
                         bIsPaused = true;
                     } else {
                         mp.start();
                         bIsPaused = false;
                     }
                 }
        });
        //停止
        stop.setOnClickListener(new ImageButton.OnClickListener() {
                public void onClick(View arg0) {
                    if (mp != null) {
                        mp.stop(); 
                    }
                }
        });
    }
    //覆蓋暫停狀態
    protected void onPause(){ 
         mp.release(); 
         super.onPause(); 
    }
}