發表文章

目前顯示的是 6月, 2018的文章

java開啟800*600的視窗

public class MyFrame { public static void main(String[] diana) { java.awt.Frame frm=new java.awt.Frame(); frm.setSize(800,600); frm.setLocation(150,100); frm.setVisible(true); } }

終級密碼:預設一個數字在某個範圍 (例:1-1000,答案是59)然後使用者猜數字,由電腦縮減範圍 (例:猜80,變成1-80),五次內猜到的人就很聰明

import java.util.Scanner; public class final_Code { public static void main(String[] args) { int L=1,H=1000; int key=(int)(Math.random()*999+1); int num=0; Scanner scanner=new Scanner(System.in); System.out.println("終級密碼"); do { System.out.print("請輸入"+L+"到"+H+":"); num=scanner.nextInt(); if(num>key) H=num; else  L=num; }while(key != num); System.out.println("答對了,你真是聰明"); } }

//輸(1)輸入三個整數x,y,z,請把這三個數由小到大輸出。 //我們想辦法把最小的數放到x上, //先將x與y進行比較,如果x>y則將x與y的值進行交換, //然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。

package hey; import java.util.Scanner; public class Specific_size { public static void main(String[] args) { //輸(1)輸入三個整數x,y,z,請把這三個數由小到大輸出。 //我們想辦法把最小的數放到x上, //先將x與y進行比較,如果x>y則將x與y的值進行交換, //然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。 //輸(1)輸入三個整數x,y,z,請把這三個數由小到大輸出。 System.out.println("請輸入三整數,以空格分開:"); Scanner scanner=new Scanner(System.in); int a =scanner.nextInt(); int b =scanner.nextInt(); int c =scanner.nextInt(); scanner.close(); int temp = 0; if(a>b) { temp=b; b=a; a=temp; } if(b>c) { temp=b; b=c; c=temp; } if(a>b) { temp=b; b=a; a=temp; } System.out.println(a+" "+b+" "+c); } }

// (2)題目:利用條件運算符的嵌套來完成此題:假設有10位同學,請利用程式來判斷, // 當使用者輸入一學生的學習成績,如果 // 學習成績>=90分的同學用A表示, // 60-89分之間的用B表示, // 60分以下的用C表示。 (必須用迴圈完成)

package hey; import java.util.Scanner; public class score { public static void main(String[] args) { // (2)題目:利用條件運算符的嵌套來完成此題:假設有10位同學,請利用程式來判斷, // 當使用者輸入一學生的學習成績,如果 //  學習成績>=90分的同學用A表示, // 60-89分之間的用B表示, // 60分以下的用C表示。 (必須用迴圈完成) // 1.程序分析:這是條件運算符的基本例子。 Scanner scanner=new Scanner(System.in); int i[]=new int[11]; for(int x=1;x<11;x++) { System.out.println("請輸入第"+x+"位同學的分數"); i[x]=scanner.nextInt(); scanner.close(); if(i[x]>=90) System.out.println("第"+x+"位同學"+"你得到A"); else if(i[x]>=60) System.out.println("第"+x+"位同學"+"你得到B"); else System.out.println("第"+x+"位同學"+"你得到C"); } } }

//(4)企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高 //  於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提 //  成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於 //  40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於 //  100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?

package hey; public class salary { public static void main(String[] args) { //(4)企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高 //  於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提 //  成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於 //  40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於 //  100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數? //  .程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。 long profit=300000; long bonus=0; long sum=0; if(profit>1000000)  //當利潤大於1000000時 { bonus=((profit-1000000)*1/100);  //紅利=(利潤-1000000)*獎金 sum=sum+bonus;                   //總獎金=總獎金+紅利 profit=1000000; System.out.println("BOUNS:"+bonus+" PROFIT:"+profit+"第一次"); } if(profit>600000) { bonus=((profit-600000)*15/1000); sum=sum+bonus; profit=600000; System.out.println("BOUNS:"+bonus+" PROFIT:"+profit+"第二次"); } if(profit>400000) { bonus=((profit-400000)*3/100); sum=sum+bonus; profit=400000; Sys...

//(3) 列印出100-200之間的所有質數。

package hey; public class PrimesNumber { public static void main(String[] args) { //(3) 列印出100-200之間的所有質數。 //Hint :撰寫步驟: // v1. 創建一個名為PrimesNumber的類; // v2. 在PrimesNumber類當中加入主函數; // 3. 在主函數當中利用for迴圈打印出100-200所有的數字; // 4. 在for迴圈當中,每當迴圈執行一次,就需判斷迴圈變數的值是否為質數,如果是質數者,就將迴圈當前的值列印出來; // (a) 質數的定義為「除了1和自己外皆不能被整除」,因此需再利用for迴圈來指定n數應除的數值(n-1), //  並在此迴圈中將二數相除取餘數,如為0者, //          將boolean變數prime從true設置為false,並跳出該迴圈; // (b) 利用if來判定prime內的值,如為true就將該數列印出來。 System.out.println("列印出100-200之間的所有質數為: "); int sum=0; for(int i=101;i<=200;i=i+2)           //被除數從100跑到200 { for(int a=2;a<i;a=a+1)            //除數從2跑到i。 { if(i%a==0){break;} if(a==i-1)                    //a為當迴圈最大值時,列印i。 { System.out.println(i+" "); sum=sum+1; } } } System.out.println("質數的個數:"+sum); } }

// (3)某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下: //   每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。 //   當使用者輸入一數字時,請輸出其加密結果。

package hey; import java.util.Scanner; public class password { public static void main(String[] args) { // (3)某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下: //   每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。 //   當使用者輸入一數字時,請輸出其加密結果。TODO Auto-generated method stub Scanner scanner=new Scanner(System.in); System.out.println("請輸入一個四位數:"); int NUM=scanner.nextInt(); int a1=NUM/1000;                     //取千位數 int a2=(NUM-a1*1000)/100; //取百位數 int a3=(NUM-a1*1000-a2*100)/10; //取十位數 int a4=(NUM-a1*1000-a2*100-a3*10); //取個位數 scanner.close(); int c1=(a1+5)%10;   //加5,求餘數 int c2=(a2+5)%10;   //加5,求餘數 int c3=(a3+5)%10; //加5,求餘數 int c4=(a4+5)%10; //加5,求餘數 System.out.print("你輸入的為 :"+a1+" "+a2+" "+a3+" "+a4); //1與4交換位置,2與3交換位置 System.out.print("輸出加密結果 :"+c4+" "+c3+" "+c2+" "+c1); } }

99乘法表

package hey; public class math99 { public static void main(String[] args) { //99乘法表 int sum; for(int x=1;x<10;x++) { for(int y=1;y<10;y++) { sum=x*y; System.out.print(x+ "*"+ y +"="+sum +" "); } System.out.println(); } } }

//(6)題目:輸入兩個正整數m和n,求其最大公因數和最小公倍數。 (必須用迴圈完成)

package hey; import java.util.Scanner; public class math { public static void main(String[] args) { // TODO Auto-generated method stub //(6)題目:輸入兩個正整數m和n,求其最大公因數和最小公倍數。 (必須用迴圈完成) //   1.程序分析:利用輾轉相除法。   Scanner scanner=new Scanner(System.in);   System.out.println("請輸入兩整數,用空格分開");   int m=scanner.nextInt();   int n=scanner.nextInt();   scanner.close();     int m1=m,n1=n;                //把輸入兩整數做備份   int temp;                     //交換時使用   //算法的便是把m除以n,再計算所得餘數。把n給m,餘數給n,持續計算下去到m%n==0時n即為最大公因數       if(n==0 || m==0) {   System.out.println("無最大公因數");   System.out.println("無最小公倍數");   }   else { //算法的便是把m除以n,餘數不為0。把n給m,餘數給n,持續計算下去到m%n==0時跳出,n即為最大公因數     while(m%n!=0)                  {  ...

(2) 透過「鍵盤輸入」2個玩家的拳形,並再利用if...else...語法結構將2個玩家的拳形按照猜拳遊戲規則來判定哪個玩家win。

package hey; import java.util.Scanner; public class ExtendedTest02 { public static void main(String[] args) { // (2) 透過「鍵盤輸入」2個玩家的拳形,並再利用if...else...語法結構將2個玩家的拳形按照猜拳遊戲規則來判定哪個玩家win。 //     Hint : // //    1. 創建一個名為ExtendedTest02的類; //   2. 在ExtendedTest02類當中加入主函數; //   3. 導入Scanner之類別; //   4. 在主函數當中定義及實現一個Scanner之對象,並利用Scanner對象取出使用者輸入之內容 //  ,最後再將其賦值給char型變數,以用於表示玩家的拳形; //   5. 使用if…else…結構對結果進行判斷。 //兩個玩家。輸入剪刀=1、石頭=2、布=3, 所以輸入兩次。 System.out.println("玩家1,請輸入剪刀=1、石頭=2、布=3其中一個。"); Scanner scanner=new Scanner(System.in); int use1=scanner.nextInt(); System.out.println("玩家2,請輸入剪刀=1、石頭=2、布=3其中一個。"); int use2=scanner.nextInt(); scanner.close(); //5. 使用if…else…結構對結果進行判斷。 if(use1==1) { if(use2==1)      System.out.println("平手"); else if(use2==2) System.out.println("玩家2勝"); else             System.out.println("玩家1勝"); } else i...

//(1) 透過「鍵盤輸入」2個玩家的拳形,並再利用switch語法結構將2個玩家的拳形按照猜拳遊戲規則來判定哪個玩家win。

package hey; import java.util.Scanner; public class ExtendedSwitchTest02 { public static void main(String[] args) { //(1) 透過「鍵盤輸入」2個玩家的拳形,並再利用switch語法結構將2個玩家的拳形按照猜拳遊戲規則來判定哪個玩家win。 //     Hint : 1. 創建一個名為ExtendedSwitchTest02的類; //    2. 在ExtendedSwitchTest02類當中加入主函數; //    3. 導入Scanner之類別; //    4. 在主函數當中定義及實現一個Scanner之對象,並利用Scanner對象取出使用者輸入之內容,最後再將其賦值給char型變數,以用於表示玩家的拳形; //    5. 使用switch結構對結果進行判斷。 //兩個玩家。輸入剪刀=1、石頭=2、布=3, 所以輸入兩次。 System.out.println("玩家1,請輸入剪刀=1、石頭=2、布=3其中一個。"); Scanner scanner=new Scanner(System.in); String use1=scanner.next(); System.out.println("玩家2,請輸入剪刀=1、石頭=2、布=3其中一個。"); String use2=scanner.next(); scanner.close(); //判斷誰勝 switch(use1) { case "1": switch(use2) { case "1": System.out.println("平手");break; case "2": System.out.println("玩家2勝");break; case "3": System.out.println("玩家1勝");break; ...

==與equals

字串用 if(字串變數.equals(字串變數)) 數字用==比較
import java.util.scanner; 輸入    類別.物件.方法 public class switch123 { public修飾子   static靜態       void不回傳            main進入點     (String[] args)傳入參數陣列 { public公開的    非靜態的      回傳變數型態                                  private私有的          靜態:個人用的有可能是物件的註解,例如:怪有243隻或x=1。 非靜態:用來建立物件。 建構子:可以取得物件初始值。 類別class:將物件要做的方法,寫在裡面。 同一頁面也是class,不同頁面也是class,只是呼叫時寫法有點不同。

switch case 使用方式

  char a=1;   switch(a)   {   case '1':System.out.printf("1\n");     break;   case '2':System.out.printf("2\n");            break;   case '3':System.out.printf("3\n");             break;   case '4':System.out.printf("4\n");      break;   default:System.out.printf("5\n");     break; 每個 case 的結尾處一定要放上 break; 不然程式會繼續向下執行,直到 switch 的最後一行為止。當 default 不是最後一個的時候,也要放上 break 注意在 case 後的等號是冒號而不是分號,這是個很常鍵錯的符號;如果您比對的是字元,則記得加上單引號( ' ' ),例如: case 'A'; switch 是 C++ 提供的條件判斷陳述式,它只能 比較數值或字元 ,不過別以為這樣它就比 if 來得沒用,使用適當的話,它可比 if 判斷式來得有效率; switch 的語法架構如下: switch ( 變數名稱或運算式 ) {     case 符合數字或字元 :         陳述句一 ;         break;     case 符合數字或字元 :        ...

eclipse出現亂碼,更改語系

window/preferences/general/works pace/file encoding/ ms950  或utf-8

字串相加

1.字串相加: String str ="1234567"; int str1=123456; float str5=12.25f; boolean abc=true;                           //可用各種類型的數值 String str4=str+str5+str1+abc;     //用+號做字串連接,但相加的變數中,一定要有字串型態, System.out.println(str4);              //或空字串。 2.字串相加: 字串=字串1.concat(字串2); 在字串2的位置不得放入數字。

從鍵盤取得數字

import java.util.scanner;                    //告訴java,我要用scanner的類別 Scanner abc=new Scanner(system.in)//設置abc為scanner的物件 int unm=abc.nextInt();                       //呼叫scanner的方法 scanner.close();                                 //關閉輸入,若沒有寫會出現警告訊息。 其他,未完成,寫好玩的: public scanner { scanner(){ String i=鍵盤輸入; } nextdouble() { //輸入一數值,轉換成double; } nextInt() { //輸入一數值,轉換成Int; }

計算時間

long starTime=system.currentTimeMillis();  //記錄開始時間 long endTime=system.currentTimeMillis(); // 記錄結束時間 system.out.println(starTime-endTime);        //列印開始時間-結束時間

20180626工作日誌好像一直有一些問題解決不了

在java上覺得好像有點通了,但又好像什麼都不會。所以把不會的東西列出來,一個一個解決。 1.繼承可以重覆使用,但又有父類別,子類別。先實做繼承再說。 class 子類別 extends 父類別 { 子類別實作區 } 2.public公用、private私用、protected保護、空白:package 3.天空會放的就是package,import 4.==及equal是否可以用傳值和傳參做比較?網路上的東西真難看懂 5.陣列的宣告和其他東西的宣告 int [] score = { 90 , 85 , 55 , 94 , 77 };

利用氣泡排序法將以下的數字(7,6,5,4,3,2,1)「由小到大」進行排序。

利用氣泡排序法將以下的數字(7,6,5,4,3,2,1)「由小到大」進行排序。 public class MyFirstJava { public static void main(String[] args) { int i[]= {7,6,5,4,3,2,1};//設定7號數字 int temp=0;                  //宣告一個變數作暫存區 for(int x=0;x<6;x++)//控制比較的次數 { for(int y=0;y<6-x;y++)//交換的次數 { if(i[y]>i[y+1])//交換的位置 { temp=i[y];        //兩數交換 i[y]=i[y+1]; i[y+1]=temp; } for(int a=0;a<7;a++) System.out.print(i[a]+" "); System.out.println(); } }

JAVE題目:產生10個亂數值,範圍為10-100之間,再利用「選擇排序法」進行由小到大的排序。並將排序後的結果列出來。

JAVE題目:產生10個亂數值,範圍為10-100之間,再利用「選擇排序法」進行由小到大的排序。並將排序後的結果列出來。 public class MyFirstJava { public static int num=10;                    //宣告全域形變數 public static int a[]=new int[num];     //宣告全域形陣列 public static void main(String[] args) { randomnum();                        //呼叫亂數值副程式 sort();                                    //呼叫選擇排序法副程式 } public static void randomnum()          //產生10個10-99的亂數值的副程式 { for(int i=0;i<num;i++) { a[i]= (int)(Math.random()*90)+10; System.out.print(a[i]+ " "); } } public static void sort()               //選擇排序法進行由小到大排序 { int temp=0; for(int i=0;i<9;i++) //選擇排序法的兩個迴圈, {           ...

java產生10個10-99的亂數值的副程式, (Math.random())的運用

public static int num=10; public static int A[]=new int[num]; public static void main(String[] args) { randomnum();//呼叫10個10-99的亂數值的副程式 } public static void randomnum()    //呼叫10個10-99的亂數值的副程式 { for(int i=1;i<num;i++)                                            { A[i]= (int)(Math.random()*90)+10; System.out.print(A[i]+ " "); } }

JAVA全域型變數宣告位置及宣告的方式

public class MyFirstJava { public static int num=10;                   //變數 public static int A[]=new int[num];   //陣列 public static void main(String[] args) { } }

如何將字串 String 轉換成整數 int?

如何將字串 String 轉換成整數 int? 有兩個方法 : 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue();

如何將整數int 轉換成字串String ?

如何將整數 int 轉換成字串 String ? A. 有三種方法 : 1.) String s = String.valueOf(i); 2.) String s = Integer.toString(i); 3.) String s = "" + i; Double, Float, Long 轉成字串的方法相同

java問題集

算術運算子 1.A=A++; 與 A=++A; 有什麼不同 ? 2. 何謂指定運算子、關係運算子、邏輯運算子、複合指定運算式、字串連結運算子 ? 3 何謂運算元 ? 4 用來判斷「條件式」是否成立。是用什麼語法 ? 5. 關係運算子的優先順序為何 ?\ 6. 不等於的運算子為何 ?!Ture 7. 等於的運算子為何 ?&& 8.A 或 B 的運算子 || 9.I+=2 什麼意思 ?I=I+2 10.I-=2 什麼意思 ? 11.I*=2 什麼意思 ? 12.I/=2 什麼意思 ? 13.I%=2 什麼意思 ? 14. 複合指定運算式目的是什麼 ?