星期二, 5月 31, 2011

20110529 Java 練習小記


package Chapter5;
import java.io.*;
public class Sample1 {


public static void main(String[] args) throws IOException
{
System.out.println("請輸入整數");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);

//判斷 res 的值 是否為 1
//如果 if 的程式只有一行, 就可以直接寫下去
if(res == 1)
System.out.println("輸入的是1"); //如果成真就執行顯示System.out.println()

System.out.println("結束");


}


}


package Chapter5;
import java.io.*;
public class Sample2 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入整數:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);
//使用 if 的時候, 如果程式的內容超過兩行, 要使用大括號將程式的框起來
if(res == 1)
{
System.out.println("輸入1");
System.out.println("選擇1");
}
System.out.println("結束");

}

}


package Chapter5;
import java.io.*;
public class Sample3 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入整數:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);
//使用 if ~ else 的方式
if(res == 1)
{
System.out.println("輸入的是1");
}
//如果沒有成真, 就執行下面的程式
else
{
System.out.println("輸入的是1以外的數字");
}

}

}


package Chapter5;
import java.io.*;
public class Sample4 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入整數:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);
if(res == 1)
{
System.out.println("輸入的值為1");
}
//使用 else if 進行下一個判斷
else if(res == 2)
{
System.out.println("輸入的值為2");
}
//當以上皆非的時候執行下列程式
else
{
System.out.println("請輸入 1 或是 2");
}

}

}


package Chapter5;
import java.io.*;
public class Sample5 {
public static void main(String[] args) throws IOException
{
System.out.println("請輸入整數:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);
//使用 switch 的方式, 如果符合值就會進行程式, 直到遇到 break 為止
switch (res){
//這邊用的是冒號 :  case 後面列出條件的 值
case 1:
System.out.println("輸入值為1");
//使用 break 來終止敘述
break;
case 2:
System.out.println("輸入值為2");
break;
//如果都沒有符合, 則採取 default 的敘述
default:
System.out.println("請輸入 1 或是 2");
break;
}

}

}


package Chapter5;
import java.io.*;
public class Sample6 {

public static void main(String[] args) throws IOException 
{
System.out.println("請輸入 a 或是 b");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
//這邊使用 char 型態, 並使用 str.charAt() 來截取字串, 0代表第一個字
char res = str.charAt(0);
switch (res)
{
//因為是字串, 所以使用單引號 括起來
case 'a':
System.out.println("輸入 a");
break;
case 'b':
System.out.println("輸入b");
break;
default:
System.out.println("請輸入 a 或是 b");
break;
}

}

}


package Chapter5;
import java.io.*;
public class Sample7 {

public static void main(String[] args) throws IOException
{
System.out.println("你是男生嗎?");
System.out.println("請輸入Y或N");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
char res = str.charAt(0);
//判斷是否輸入 Y 或是 y
if(res == 'Y' || res == 'y')
{
System.out.println("是男生");
}
//判斷是否輸入 N 或是 n
else if(res == 'N' || res == 'n')
{
System.out.println("是女生");
}
else
{
System.out.println("請輸入 Y 或 N");
}

}

}


package Chapter5;
import java.io.*;
public class Sample7b {

public static void main(String[] args) throws IOException
{
System.out.println("請問要選擇哪條路線?");
System.out.println("請輸入整數");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);
char ans;
if(res == 1)
{
ans = 'A';
}
else
{
ans = 'B';
}
System.out.println("選擇了"+ans+"路線");

}

}


package Chapter5;
import java.io.*;
public class Sample8 {

public static void main(String[] args) throws IOException
{
System.out.println("請問要選擇哪條路線");
System.out.println("請輸入整數");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);
//使用 ? : 的方式, ?如果符合條件式 true就是 A, :不然就是 B
char ans = (res == 1) ? 'A' : 'B';
System.out.println("選擇了"+ans+"路線");

}

}


package Chapter5;
import java.io.*;
public class Homework5_2 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入整數");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);
if(res % 2 == 0)
{
System.out.println(res+"是偶數");
}
else
{
System.out.println(res+"是奇數");
}

}

}


package Chapter5;
import java.io.*;
public class Homework5_3 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入兩個整數");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
int num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str2);
if( num1 == num2)
{
System.out.println("2個數值相同");
}
else if(num1 > num2)
{
System.out.println(num1+"的值比"+num2+"的值大");
//想想看為何不行 if(num1 > num2) ? num1+"的值比"+num2+"的值大" : num2+"的值比"+num1+"的值大";
//想想看為何不行  char ans = (num1 > num2) ? num1+"的值比"+num2+"的值大" : num2+"的值比"+num1+"的值大";
}
else
{
System.out.println(num2+"的值比"+num1+"的值大");
}

}

}


package Chapter5;
import java.io.*;
public class Homework5_4 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入從 0 到 10 的整數");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);
if(res >= 0 && res <= 10)
{
System.out.println("正確");
}
else
{
System.out.println("錯誤");
}

}

}


package Chapter5;
import java.io.*;
public class Homework5_5 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入成績 1 ~ 5");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int res = Integer.parseInt(str);
// switch 有點忘記了, 要加強
switch (res)
{
case 1:
System.out.println("看來非加油不可");
break;
case 2:
System.out.println("再努力一點更好");
break;
case 3:
System.out.println("還要再加強喔");
break;
case 4:
System.out.println("考得真好");
break;
case 5:
System.out.println("真是太優秀了");
default:
System.out.println("請輸入 1 到 5 的成績");
}

}

}



星期六, 5月 28, 2011

20110527 Java 練習小記


package Chapter4;


public class Sample1 {
public static void main(String[] args)
{
//使用括號 ( ) 將運算式 框起來
System.out.println("1+2等於"+(1+2));
System.out.println("3+4等於"+(3+4));
}
}


package Chapter4;

public class Sample2 {

public static void main(String[] args) {
int num1 = 2;
int num2 = 3;
int sum = num1 + num2;
System.out.println("變數 num1 的值是"+num1);
System.out.println("變數 num2 的值是"+num2);
System.out.println("num1+num2 的值是"+sum);
//等號並不是相等的意思, 而是指定的意思
num1 = num1 + 1;
System.out.println("變數 num1 的值加1後是"+num1);


}

}


package Chapter4;
import java.io.*;
public class Sample3 {

public static void main(String[] args) throws IOException 
{
System.out.println("請輸入兩個整數:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
int num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str2);
System.out.println("相加的結果是"+(num1+num2));

}

}


package Chapter4;

public class Sample4 {

public static void main(String[] args) {
int num1 = 10;
int num2 = 5;
System.out.println("num1 與 num2 的各種運算");
System.out.println("num1+num2等於"+(num1+num2));
System.out.println("num1-num2等於"+(num1-num2));
System.out.println("num1*num2等於"+(num1*num2));
System.out.println("num1/num2等於"+(num1/num2));
// % 為餘數的運算子
System.out.println("num1%num2等於"+(num1%num2));

}

}


package Chapter4;

public class Sample5 {

public static void main(String[] args) {
int a = 0;
int b = 0;
System.out.println("a的值為"+a);
System.out.println("b的值為"+b);
//使用後置遞增運算子, 先指定變數, 再增加
b = a++;
//因為是先指定 b = a 之後才進行 a++ 所以出來的b值為 0, 但是 a的值為1
System.out.println("指定後置遞增運算子, b的值為"+b);
System.out.println("a的值為"+a);
System.out.println("b的值為"+b);

b = ++a;
//使用前置遞增運算子, 先增加, 再指定變數
//因為使用 ++a 所以會先將 a +1 所以出來的值 b為 2 (剛剛的a值為 1, 1+1 = 2)
System.out.println("指定前置遞增運算子, b的值為"+b);
System.out.println("a的值為"+a);
System.out.println("b的值為"+b);

}

}


package Chapter4;
import java.io.*;
public class Sample6 {
//這邊在使用 BufferedReader 時候老是忘記加上  throws IOException 要記住
public static void main(String[] args) throws IOException
{
System.out.println("請輸入3個整數:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
String str3 = br.readLine();
int sum = 0;
System.out.println("目前的sum 值為"+sum);
sum += Integer.parseInt(str1);
System.out.println("目前的sum 值為"+sum);
sum += Integer.parseInt(str2);
System.out.println("目前的sum 值為"+sum);
sum += Integer.parseInt(str3);
System.out.println("3個整數合計的值為"+sum);


}

}


package Chapter4;

public class Sample7 {

public static void main(String[] args) {
//這邊有使用括號, 所以會被處理運算 1+2
System.out.println("1+2等於"+(1+2));
//這邊因為沒有使用括號 1 還有 2 會被視為文字串接
System.out.println("1+2等於"+1+2);
System.out.println("3*4等於"+3*4);

}

}


package Chapter4;

public class Sample8 {

public static void main(String[] args) {
int inum = 160;
System.out.println("身高是:"+inum+"公分");
System.out.println("指定成double型態之後");
//將原本資料型態較小的 integer 轉換到 double
double dnum = inum;
System.out.println("身高是:"+dnum+"公分");

}

}


package Chapter4;

public class Sample9 {

public static void main(String[] args) {
double dnum = 160.5;
System.out.println("身高"+dnum+"公分");
System.out.println("轉換為 int 的型態後");
//大的型態沒有辦法直接轉成小的型態, 如果要這樣要透過 cast 運算子 明確清楚的指示轉換的資料型態
// 括號內就是明確指定 型態類別
int inum = (int) dnum;
System.out.println("身高為"+inum+"公分");

}

}


package Chapter4;

public class Sample10 {

public static void main(String[] args) {
int d = 2;
double pi = 3.14;
System.out.println("直徑是"+d+"的圓");
//在 java 中如果有資料型態不同的狀況要運算, 
//會將型態較小的先轉成型態較大的型態, 再進行運算
System.out.println("其圓周是"+(d*pi));

}

}


package Chapter4;

public class Sample11 {

public static void main(String[] args) {
int num1 = 5;
int num2 = 4;
//因為預期 5/4 為 1.25 所以先指定為 double 型態
//但是 因為 num1 與 num2 都是int 所以 出來的結果 1.25 只有 1屬於 int
double div = num1 / num2;
//所以這樣顯示結果為 1
System.out.println("5/4為"+div);
//如果要正確的輸出結果, 必須要在兩個其中一個先指定 double 型態 (利用 cast)
double div2 = (double) num1 / num2;
System.out.println("5/4為"+div2);

double div3 = num1 / (double) num2;
System.out.println("5/4為"+div3);

}

}


package Chapter4;

public class Homework4_2 {
public static void main(String[] args) {
System.out.println("0-4="+(0-4));
System.out.println("3.14*2="+(3.14*2));
double ans3 = (double) 5/3;
//突然發現也可以在 System.out.println 直接使用 (cast) ^__^
System.out.println("5/3="+(double) 5/3);
System.out.println("5/3="+ ans3);
System.out.println("30/7的餘數為"+30%7);
System.out.println("(7+32)/5="+(double)(7+32)/5);

}

}


package Chapter4;
import java.io.*;
public class Homework4_3 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入正方形的邊長:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int num = Integer.parseInt(str);
System.out.println("正方形的面積是"+num*num);

}

}


package Chapter4;
import java.io.*;
public class Homework4_4 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入三角形的底與高");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
int int1 = Integer.parseInt(str1);
int int2 = Integer.parseInt(str2);
System.out.println("三角形面積為"+(double)(int1*int2)/2);

}

}


package Chapter4;
import java.io.*;
public class Homework4_5 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入1 - 5 科目的得分");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
String str3 = br.readLine();
String str4 = br.readLine();
String str5 = br.readLine();
//天阿, 我竟然用最笨的方法
double dnum1 = Double.parseDouble(str1);
double dnum2 = Double.parseDouble(str2);
double dnum3 = Double.parseDouble(str3);
double dnum4 = Double.parseDouble(str4);
double dnum5 = Double.parseDouble(str5);
//是可以使用
// int sum = 0;
//sum += Integer.parseInt(str1);
//sum += Integer.parseInt(str2);
//sum += Integer.parseInt(str3);
//sum += Integer.parseInt(str4);
//sum += Integer.parseInt(str5);
//System.out.println("5種科目總分為"+sum);
System.out.println("5種科目總分為"+(int)(dnum1+dnum2+dnum3+dnum4+dnum5));
//System.out.println("5種科目平均為"+sum/ (double)5);
System.out.println("5種科目平均為"+(dnum1+dnum2+dnum3+dnum4+dnum5)/5);

}

}

20110525 Java 練習小記


package Chapter3;


import java.io.*;
public class Sample4 {
public static void main(String args[]) throws IOException
{
System.out.println("請輸入文字字串:");
BufferedReader br = new BufferedReader( new InputStreamReader(System.in));
String str = br.readLine();
System.out.println("剛剛輸入的字串是:"+str);
}
}


package Chapter3;
import java.io.*;
public class Sample5 {

public static void main(String[] args) throws IOException {
System.out.println("請輸入一個整數");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int num = Integer.parseInt(str);
System.out.println(num+"是您輸入的數字");

}

}


package Chapter3;
import java.io.*;
public class Sample6 {

public static void main(String[] args) throws IOException 
{
System.out.println("請輸入兩個整數.");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//連續兩次輸入, 有幾次的 readLine() 就可以接受幾次的輸入
String str1 = br.readLine();
String str2 = br.readLine();
//將兩次的輸入 轉換為整數
int num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str2);
System.out.println("第一次輸入是"+num1);
System.out.println("第二次輸入是"+num2);

}

}


package Chapter3;
import java.io.*;
public class Homework3_3 {

public static void main(String[] args) throws IOException 
{
System.out.println("你今年幾歲?");
//BufferedReader 有點忘記要記住
BufferedReader br =  new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
//這邊忘記 Integer.parseInt 要記住
int num = Integer.parseInt(str);
System.out.println("您今年"+num+"歲");

}

}


package Chapter3;
import java.io.*;
public class Homework3_4 {

public static void main(String[] args) throws IOException 
{
System.out.println("請輸入圓周率的值?");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//這邊忘記使用 br.readLine() 要加強
String str = br.readLine();
// 這邊忘記要使用 double 前面還使用 int num 的方式來指定, 
//以致後面的 Double.parseDouble 產生錯誤, 要記住
double num = Double.parseDouble(str);
System.out.println("圓周率的值是:"+num);

}

}


package Chapter3;
import java.io.*;
public class Homework3_5 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入身高和體重:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
double num1 = Double.parseDouble(str1);
double num2 = Double.parseDouble(str2);
System.out.println("身高是:"+num1);
System.out.println("體重是:"+num2);

}

}