Java筆試題,經常碰到的題目,有答案

來源:互聯網
上載者:User

/*演算法:父子倆的年齡:父親今年30歲,兒子今年6歲,問多少年後父親的年齡是兒子年齡的2倍*/<br /> int ba = 30;<br /> int er = 6;<br /> for (int i = 0; i < 100; i++)<br /> {<br /> if ((ba + i) == 2 * (er + i))<br /> {<br /> System.out.println(i);<br /> }<br /> }<br /> /*演算法: 編寫程式,將兩個各有6個整數的數組,合并成一個由小到大排列的數組,(該數組的長度為12)*/<br /> int[] a = new int[] {1, 2, 4, 12, 32, 10};<br /> int[] b = new int[] {34, 31, 54, 87, 11, 22};</p><p> int[] c = new int[12];<br /> for (int i = 0; i < a.length; i++)<br /> {<br /> c[i] = a[i];<br /> c[i + 6] = b[i];<br /> }<br /> Arrays.sort(c);<br /> for (int i = 0; i < c.length; i++)<br /> {<br /> System.out.println(c[i]);<br /> }<br /> /*一個球從100米高度自由落下後,反彈回原來高度的一半。按此規律,到第10次落地時,行程共有多少米?然後將反彈起多高?*/<br /> float hight = 100;<br /> int n = 1;<br /> float sum = 0;<br /> for (n = 0; n < 10; n++)<br /> {<br /> sum = hight + sum;<br /> hight = hight / 2;<br /> }<br /> System.out.println("第" + n + "次" + "總行程" + sum + "米" + "反彈" + hight<br /> + "米");<br /> /*換硬幣:把一元人民幣換成5分、2分、1分的硬幣,有多少種換法? */<br /> int num = 0;<br /> for (int i = 1; i <= 20; i++) //全部是2分的話,最多有50個<br /> {<br /> for (int j = 1; j <= 50; j++)//全部是5分的話,最多有20個<br /> {<br /> for (int k = 1; k <= 100; k++)//全部是1分的話,最多有100個<br /> {<br /> if (5 * i + 2 * j + 1 * k == 100)<br /> {<br /> num = num + 1;<br /> }<br /> }<br /> }<br /> }<br /> System.out.print(num + "種換法");<br /> /**牛的繁殖問題 :有位科學家曾出了這樣一道數學題:有一頭母牛,它每年年初要生一頭小母牛;<br /> * 每頭小母牛從第四個年頭起,每年年初也要生一頭小母牛。按此規律,若無牛死亡,第20年頭上共有多少頭母牛?*/<br /> int[] cowNumber = new int[21];<br /> cowNumber[0] = 1;<br /> for (int currentYear = 1; currentYear <= 20; currentYear++)<br /> {<br /> if (currentYear < 4) //前3年,只有老母牛繁殖<br /> {<br /> cowNumber[currentYear] = cowNumber[currentYear - 1] + 1;<br /> }<br /> else<br /> //老母牛繁殖的小母牛也開始繁殖<br /> {<br /> cowNumber[currentYear] = cowNumber[currentYear - 1]<br /> + cowNumber[currentYear - 4 + 1];<br /> }<br /> System.out.println("第" + currentYear + "年" + cowNumber[currentYear]);<br /> }<br /> /** 列印出500之內所有能被7或9整除的數*/<br /> int n1 = 0;<br /> for (int i = 0; i <= 500; i++)<br /> {<br /> if ((i % 7 == 0) || (i % 9 == 0))<br /> {<br /> System.out.print(i + " ");<br /> n1++;<br /> System.out.println();<br /> }<br /> }<br /> System.out.println(n1);<br /> /**<br /> * 編寫一個Java程式 使它隨即產生1800到2000之間的年份,列印它是否是一個閏年,閏年是1584年以後的年份,它要能被400整除,<br /> * 要能被4整除但是不能被100整除,已知使用Math.random()方法可以產生0到1之間的隨即小數. )<br /> */<br /> long year = (Math.round(Math.random() * 200) + 1800);<br /> System.out.println(year);<br /> if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))<br /> {<br /> System.out.println(year + " 是 閏 年 ! ");<br /> }<br /> else<br /> {<br /> System.out.println(year + " 是 平 年 ! ");<br /> }<br /> /**編寫程式以遞迴的方式實現1+2+3++n(n=200)的計算.*/<br /> // System.out.print(numbers(200));<br /> //下面是自訂的方法<br /> // public static int numbers(int n)<br /> // {<br /> // return n <= 1 ? 1 : n + numbers(n - 1);<br /> // }<br /> /** */<br /> /** 給定一個數,並由鍵盤輸入若干個數,找出與預先給定的數最接近的數,<br /> * 並指出它是由鍵盤輸入的第幾個數。<br /> */<br /> Scanner input = new Scanner(System.in);<br /> System.out.print("Please input numbers: 用半形逗號隔開:");<br /> String str = input.next();<br /> String[] item = str.split(",");<br /> int number = 80;<br /> int place = 0;<br /> int temp = 5000;<br /> int x = 0;<br /> for (int i = 0; i < item.length; i++)<br /> {<br /> System.out.println(item[i]);<br /> if (Integer.parseInt(item[i]) > number)<br /> {<br /> x = Integer.parseInt(item[i]) - number;<br /> }<br /> else<br /> {<br /> x = number - Integer.parseInt(item[i]);<br /> }<br /> if (x < temp)<br /> {<br /> temp = x;<br /> place = i;<br /> }<br /> }<br /> System.out.println("最接近的數字是:" + item[place] + ";出現在第" + (place + 1)<br /> + "位");<br /> /**使用Java,long.Math類,產生10個0到99之間的隨即整數,求出它們中的最小值和最大值*/<br /> int[] num1 = new int[10];<br /> for (int i = 0; i < 10; i++)<br /> {<br /> num1[i] = (int)(Math.random() * 99);<br /> System.out.print(num1[i] + "/n");<br /> }<br /> Arrays.sort(num1);<br /> System.out.println("最小值:" + num1[1]);<br /> System.out.println("最大值:" + num1[9]);</p><p> /**假設有一條鋼材長2000米,每天截取其中的一半,編寫一程式求出多少天后,鋼材的長度小於5米.*/<br /> double num11 = 2000;<br /> int day = 0;<br /> for (int i = 0; i < 10000; i++)<br /> {<br /> num11 = num11 / 2;<br /> System.out.println(num11);<br /> day++;<br /> if (num11 < 5)<br /> {<br /> break;<br /> }<br /> }<br /> System.out.println("第 " + day + " 天,鋼材的長度小於5米!");</p><p> /**完全數是指其所有因子(包括1但不包括該數自身)的和等於該數,例如28=1+2++4+7+14,28就是一個完全數.<br /> * 編寫一個程式求出2到100之間的所有完全數.*/<br /> int m = 0;<br /> for (int n11 = 2; n11 <= 100; n11++)<br /> {<br /> m = 0;<br /> for (int i = 1; i < n11; i++)<br /> {<br /> if (n11 % i == 0)<br /> {<br /> m += i;<br /> if (m == n11)<br /> {<br /> System.out.println(n11 + "個完全數");<br /> }<br /> }<br /> }<br /> }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.