1. 程式人生 > >(10.16)java小作業!

(10.16)java小作業!

程序實現 stat 也好 多少 發現 erl 經典的 main 想象力

  相信大家剛剛學習java多多少少都會寫一些java的基礎編程來練練手感,我也不例外!今天想和大家分享一下我最近所接觸到的比較有趣的java小編程!

  已知a已被賦值,b已被賦值,請編寫java程序實現a與b值的互換:

  其實這道題挺經典的,無論是C語言也好,java也好,都把這道題作為入門的小作業,它的解法如下:

1 public class Demo{
2     public static void main(String[] args){
3         int a=1;//為a賦值
4         int b=2;//為b賦值
5         int temp=a;//新的變量
6 a=b; 7 b=temp;//a與b互換 8 } 9 }

  解答這道題的方法通常都是初始化一個新的變量,以該變量作為中間變量,來防止a或者b被覆蓋,通過這樣的方法來解這道題。那麽,除了這種常規的解題方法還有別的解題方法麽?

  答案是肯定的,下面我會為大家再列舉兩種解題方法,有其他解題的方法也歡迎大家補充!

  1.加減法

public class Demo {
    public static void main(String[] arg) {
        int a = 1;
        int b = 2;
        a = b-a;
        b 
= b-a; a = b+a; } }

  2.異或法

public class Demo {
    public static void main(String[] arg) {
        int a = 1;
        int b = 2;
        a = a^b;
        b = a^b;
        a = a^b;
    }

}

  其實,不管是加減法也好,異或法也好,這兩種解題方法都是我們解題時思維的延伸,也是我們思維邏輯的一種改變,畢竟java就是一堆積木,所有的一切都是通過一步一步的組合來完成的,而完成品是什麽樣的取決於我們的思考方式和想象力,所以千萬不要只局限於一種解法,要勇於去擴展自己的思維,改變自己的邏輯,才能發現更有趣的世界!

(10.16)java小作業!