2010年1月7日 星期四

物理

http://www.ngsir.netfirms.com/chinesehtm/phase.htm
http://www.ngsir.netfirms.com/
http://forum.phy.ntnu.edu.tw/demolab/phpBB/viewtopic.php?topic=16236

http://forum.phy.ntnu.edu.tw/demolab/phpBB/viewtopic.php?topic=16219

2009年10月25日 星期日

參加電腦軟體設計乙級術科java 20091025 在文化大學推廣中心 208室的經驗

1. 環境變數設定
2. 讀檔與寫檔
3. 讀入字串的處理
    利用 StringTokenizer
4. 字串和字元的轉換
5.字串和double int float 的轉換
6. How to use Eclipse for Java programming
7.準備光碟 SDK 和 Eclipse

電腦軟體設計丙級技術士技能檢定術科測試

第一站試題 BASIC 語言基本指令操作
11900-940301 迴文 判 斷
11900-940302

<><><> <><><>


import java.io.*;


public class Myjava1 {


/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動產生方法 Stub
String inputs="";


try{
FileReader myinpufile=new FileReader("940301.SM");
BufferedReader isr=new BufferedReader(myinpufile);
inputs=isr.readLine();
//System.out.println(isr.readLine());
FileWriter myoutfile=new FileWriter("940301w.SM");
BufferedWriter isrw=new BufferedWriter(myoutfile);
if(judg(inputs))
{
isrw.write("is a palindrome");
System.out.println("is a palindrome");
}
else
{
isrw.write("is not a palindrome");
System.out.println("is not a palindrome");
}
}
catch(Exception e)
{

}



}

public static boolean judg(String inputs)
{
int sl=inputs.length();
boolean myresult=true;

String outputs="";
System.out.println(sl);
//System.out.println(inputs.charAt(4));
for (int i=sl-1;i>=0;i--)
{
System.out.println(inputs.charAt(i));
outputs=outputs+inputs.charAt(i);
}
System.out.println(outputs.equals(inputs));
if(outputs.equals(inputs))
myresult=true;
else
myresult=false;

return myresult;

}

}







範例
從鍵盤讀資料

<><><> <><><>


import java.io.*;
public class TestReadKey {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

try
{
System.out.println("請輸入");

InputStreamReader inputjerry= new InputStreamReader(System.in);
BufferedReader binputjerry= new BufferedReader(inputjerry);
String line=binputjerry.readLine();
System.out.print(line);

}
catch(Exception e)
{
System.out.println("error");
}


}

}




從檔案讀資料


<><><> <><><>







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

// inputtext.txt 檔案內容 COFFEE 50 4
// 從檔案讀入一列字串,讀入50 和 4 相乘再寫入另一檔案
class TestReadWrite
{

public static void main(String[] args)
{
String line,item;
int price,num,total;
try
{
FileReader inputjerry=new FileReader("inputtext.txt");
BufferedReader binputjerry=new BufferedReader(inputjerry);
line=binputjerry.readLine();
StringTokenizer stline=new StringTokenizer(line, " ");
item=stline.nextToken();
System.out.println(item);
num=Integer.parseInt(stline.nextToken());
System.out.println(num);
price=Integer.parseInt(stline.nextToken());
System.out.println(price);
total=price*num;
System.out.println(total);
FileWriter outputjerry=new FileWriter("outputtext.txt");
BufferedWriter boutputjerry=new BufferedWriter(outputjerry);
boutputjerry.write(String.valueOf(total));
boutputjerry.flush();



boutputjerry.close();
}
catch(Exception e)
{
System.out.println("Exception");
}
}
}









怎样用java实现任意两个数的相加运算

考題一

長整數的加減法

輸入檔


-12234456778888998
123344466777888899

輸出檔
a+b=...............................................
a+c=
a-b=


參考資料
yahoo 搜尋
Big integer example java
http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html

http://www.informit.com/articles/article.aspx?p=101766&seqNum=9&rll=1

http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html

Big Numbers


If the precision of the basic integer and floating-point types is not sufficient, you can turn to a couple of handy classes in the java.math package, called BigInteger and BigDecimal. These are classes for manipulating numbers with an arbitrarily long sequence of digits. The BigInteger class implements arbitrary precision integer arithmetic, and BigDecimal does the same for floating-point numbers.



Use the static valueOf method to turn an ordinary number into a big number:

Big Integer Expression Evaluator


 
Source Codes


The source codes can download here: BigIntegerExpression.zip.


http://www.exampledepot.com/egs/java.math/AddBigInt.html

Operating with Big Integer Values


// Create via a string

BigInteger bi1 = new BigInteger("1234567890123456890");



// Create via a long

BigInteger bi2 = BigInteger.valueOf(123L);



bi1 = bi1.add(bi2);

bi1 = bi1.multiply(bi2);

bi1 = bi1.subtract(bi2);

bi1 = bi1.divide(bi2);

bi1 = bi1.negate();

int exponent = 2;

bi1 = bi1.pow(exponent);

-----------------------------------------------------------------------------------------------------
考題二

自動販賣機模擬程式

輸入檔

產品名稱  價格  數量
COFFEE      50   4

輸出檔



yahoo 搜尋

vending example java


Vending Machine: A Modest Groovy Example

http://code.joejag.com/coding-dojo-vending-machine/

Example 1: Buy B with exact change


Q, Q, Q, Q, GET-B

-> B



Example 2: Start adding change but hit coin return to get change back

Q, Q, COIN-RETURN

-> Q, Q



Example 3: Buy A without exact change (return $.35)

DOLLAR, GET-A

-> A, Q, D


-------------------------------------------------------------------------------------------------------
第三題

學生專題老師 分配規則  程式
1. 只有一個學生選到一位老師即配對成功
2. 多位學生選同一位老師,已學生的意願先的,配對老師。
3. .......

A是學生
B是老師
有十個學生即十位老師
各自有10個志願

輸入檔
A01,5,6,3,4,2,10,7,8,9,1
A02
A03
A04
A05
A06
A07
A08
A09
A10
B01
B02
B03
B04
B05
B06
B07
B08
B09
B10
輸出檔

A1-B7
A2-B6

.......
A10-B3



-------------------------------------------------------------------------------------------------------
大專學生參與專題研究計畫研究成果報告

藍牙手機萬用遙控器

2009年10月24日 星期六

範例二



class Mytestjava (Mytestjava.java)



import java.io.*;

import java.awt.*;

import javax.swing.*;

import java.util.StringTokenizer;

import java.nio.CharBuffer;

import java.util.Arrays;

import java.lang.Integer;;



public class Mytestjava2 {

static String[] array;

static String output = "";



// find value in array intValues

public static void printArrays(int[] intValues)

{

System.out.print( "doubleValues: " );



// for ( int count = 0; count < doubleValues.length; count++ )

// System.out.print( doubleValues[ count ] + " " );



System.out.print( "\nintValues: " );

output+= "\nintValues: ";

for ( int count = 0; count < intValues.length; count++ )

{

System.out.print( intValues[ count ] + " " );

output+= intValues[ count ] +" " ;

}

/*

System.out.print( "\nfilledInt: " );



for ( int count = 0; count < filledInt.length; count++ )

System.out.print( filledInt[ count ] + " " );



System.out.print( "\nintValuesCopy: " );



for ( int count = 0; count < intValuesCopy.length; count++ )

System.out.print( intValuesCopy[ count ] + " " );

*/

System.out.println();



}







public static int[]searchForInt(String[] inputarray, int max)

{

int [] temp=new int[max];

int kmax=0;

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



try {

//System.out.println("inputarray("+i+")"+ inputarray[i]);

temp[i]=Integer.parseInt(inputarray[i]);

//System.out.println(""+temp[i]);

kmax=kmax+1;

} catch (Exception e) {

//System.out.println(""+inputarray[i]);

// XXX: handle exception

}

}



int [] ioutputarray=new int[kmax];

for (int k = 0; k < kmax; k++) {

ioutputarray[k]=temp[k];

}



return ioutputarray;

}





public static void main(String[] args) {

File position;

File text;

String InFileName,OutFileName;

int num;

String inputstr;

try{

InFileName = args[0];

StringTokenizer tokens = new StringTokenizer( InFileName, ".t");

position = new File(InFileName);

OutFileName = tokens.nextToken() + ".w" + tokens.nextToken();

System.out.print("Input File Name:" + InFileName + "\n" );

System.out.print("Output to the File :" + OutFileName+ "\n" );

text = new File(OutFileName);

}

catch(Exception e){

System.out.print("Error:"+e);

System.exit(1);

position = new File("");

text = new File("");

}

array = new String[20];



try{

BufferedReader input = new BufferedReader(new FileReader( position ) );

int i=0;

inputstr= input.readLine();

while (inputstr != null) {

array[i]= inputstr;

i=i+1;

inputstr= input.readLine();

}

input.close();

int max=i-1;

int[] Intmatrix= searchForInt(array, max);



for (int j = 0; j < Intmatrix.length; j++) {

//output+=array[i]+"\n" ;

System.out.println(""+Intmatrix[j]);

}



printArrays(Intmatrix);



}

catch(IOException IOException){

}





try{





BufferedWriter output1 = new BufferedWriter(new FileWriter( text) );

output1.write(output);

output1.flush();

}

catch(IOException IOException){

}

}

}






輸入檔案 930201.s01 內容:



1
2
3
4
5
6
8.4
9.3
0.2
7.9
3.4






執行結果:



D:\test2\mytest1\src>java Mytestjava2 930201.s01
Input File Name:930201.s01
Output to the File :930201.ws01
1
2
3
4
5
6




輸出檔案 930201.ws01 內容:





intValues: 1 2 3 4 5 6

範例一



class Mytestjava (Mytestjava.java)






import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.util.StringTokenizer;
import java.nio.CharBuffer;

public class Mytestjava {
static String[] array;
static String output = "";
public static void main(String[] args) {
File position;
File text;
String InFileName,OutFileName;
int num;
String inputstr;
try{
InFileName = args[0];
StringTokenizer tokens = new StringTokenizer( InFileName, ".t");
position = new File(InFileName);
OutFileName = tokens.nextToken() + ".w" + tokens.nextToken();
System.out.print("Input File Name:" + InFileName + "\n" );
System.out.print("Output to the File :" + OutFileName+ "\n" );
text = new File(OutFileName);
}
catch(Exception e){
System.out.print("Error:"+e);
System.exit(1);
position = new File("");
text = new File("");
}
array = new String[11];

try{
BufferedReader input = new BufferedReader(new FileReader( position ) );
int i=0;
inputstr= input.readLine();
while (inputstr != null) {
array[i]= inputstr;
output+=array[i]+"\n" ;
System.out.println("Array("+i+")"+ array[i]);
i=i+1;
inputstr= input.readLine();
}
input.close();
}
catch(IOException IOException){
}
try{

BufferedWriter output1 = new BufferedWriter(new FileWriter( text) );
output1.write(output);
output1.flush();
}
catch(IOException IOException){
}
}
}









輸入檔案 930201.s01 內容:






1
2
3
4
5
6
8.4
9.3
0.2
7.9
3.4








執行結果:






D:\test2\mytest1\src>java Mytestjava 930201.s01
Input File Name:930201.s01
Output to the File :930201.ws01
Array(0)1
Array(1)2
Array(2)3
Array(3)4
Array(4)5
Array(5)6
Array(6)8.4
Array(7)9.3
Array(8)0.2
Array(9)7.9
Array(10)3.4






輸出檔案 930201.ws01 內容:







1
2
3
4
5
6
8.4
9.3
0.2
7.9
3.4



電腦軟體設計乙級技術士技能檢定

電腦軟體設計乙級技術士技能檢定

[PDF] 098 年度11902 電腦軟體設計(C++)乙級技術士技能檢定學科測試試題本 ... 檔案類型: PDF/Adobe Acrobat


0 9 8 電腦軟體設計( C + + ) 乙6 - 1 ( 序0 0 1 ). 098 年度11902 電腦軟體設計(C++)乙級技術士技能檢定學科測試試題. 本試卷有選擇題80 題,每題1.25 分,皆為單選 ...

web1.labor.gov.tw/management/sitemap_upload.../119022.pdf
 
[PDF] 098 年度11901 電腦軟體設計(JAVA)乙級技術士技能檢定學科測試試題本 ... 檔案類型: PDF/Adobe Acrobat


0 9 8 電腦軟體設計( J A V A ) 乙7 - 1 ( 序0 0 1 ). 098 年度11901 電腦軟體設計(JAVA)乙級技術士技能檢定學科測試試題. 本試卷有選擇題80 題,每題1.25 分,皆為單 ...

web1.labor.gov.tw/management/sitemap_upload.../119012.pdf

電腦軟體設計乙級技術士技能檢定術科範例試題(Java)


電腦軟體設計乙級技術士技能檢定術科測試範例試題(C++)

電腦軟體設計丙級技術士技能檢定術科測驗試題

參考資源 

Java BBS


Your first recursive program.The HelloWorld for recursion is to implement the factorial function, which is defined for positive integers N by the equation


N! = N × (N-1) × (N-2) × ... × 2 × 1
http://www.cs.princeton.edu/introcs/23recursion/



http://wayne.im.takming.edu.tw/java/engbook/ch22.pdf

http://fabch2.pixnet.net/blog/post/26002506

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/LoopWhile.htm