50道經典的JAVA編程題(31-35),今天考完了java,在前篇博客里面貼出了題了,見:《今天考試的JAVA編程題》。考完了也輕松了,下個星期一還考微機原理呢,啥都不會,估計今天就做到這了,明天要投入“預習”狀態了!!!等全部考試完了會繼續完成這50道題的~
【程序31】 ArrayConverse.java
題目:將一個數組逆序輸出。
1.程序分析:用第一個與最后一個交換。

javapackage test50;
/** * @author VellBibi *【程序31】 ArrayConverse.java *題目:將一個數組逆序輸出。 *1.程序分析:用第一個與最后一個交換。 */
public class ArrayConverse {
public static void arrayConverse(int[] a){
int cup=0;
for(int i=0,j=a.length-1; i<j; i++,j--){
cup = a[i];
a[i] = a[j];
a[j] = cup;
}
}
public static void printArray(int[] a){
for(int i=0; i<a.length; i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int[] a = new int[]{1,2,3,4,5};
printArray(a);
arrayConverse(a);
printArray(a);
}
}
【程序32】 Ex32.java
題目:取一個整數a從右端開始的4~7位。

javapackage test50;
/** * @author VellBibi *題目:取一個整數a從右端開始的4~7位。 */
public class Ex32 {
/** * 從a里面取出從右端開始的m~n位 * @param a * @param m * @param n * @return */
public static int[] getNum(int a, int m, int n){
int[] ans = new int[n-m+1];
for(int i=1,j=0; j<ans.length && a>0;i++){
if(i>=m && i<=n){
ans[j] = a%10;
j++;
}
a = a / 10;
}
return ans;
}
public static void printArray(int[] a){
for(int i=a.length-1; i>=0; i--){
System.out.print(a[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int a = 123456789;
int[] ns = getNum(a, 4, 7);
System.out.println(a);
printArray(ns);
}
}
【程序33】YangHui.java
題目:打印出楊輝三角形(要求打印出6行如下圖)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

javapackage test50;
/** * @author VellBibi *題目:打印出楊輝三角形(要求打印出6行如下圖) *1.程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 */
public class YangHui {
/** * 得到楊輝三角的數組 * @param n * @return */
public static int[][] getArray(int n){
int[][] a = new int[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<=i; j++){
if(j == 0 || j == i){
a[i][j] = 1;
}else{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
return a;
}
/** * 打印等腰三角形 * @param a */
public static void print(int[][] a){
for(int i=0; i<a.length; i++){
for(int j=0; j<a.length-i-1; j++){
System.out.print(" ");
}
for(int j=0; j<a[i].length && a[i][j]>0; j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
public static void main(String[] args) {
print(getArray(6));
}
}
【程序34】 略 前面更復雜的已經做過了
題目:輸入3個數a,b,c,按大小順序輸出
參見【程序15】Sort.java
【程序35】 ArrayChange.java
題目:輸入數組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數組。

javapackage test50;
/** * @author VellBibi *【程序35】 ArrayChange.java *題目:輸入數組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數組。 */
public class ArrayChange {
public static void sort(int[] a){//類似冒泡排序
int cup = 0;
int l = a.length-1;
for(int i=1; i<a.length-1; i++){
if(a[i] > a[0]){
cup = a[i];
a[i] = a[0];
a[0] = cup;
}
if(a[i] < a[l]){
cup = a[i];
a[i] = a[l];
a[l] = cup;
}
}
}
public static void printArray(int[] a){
for(int i=0; i<a.length; i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int[] a = new int[]{2,3,5,1,2,34,1,0,24};
printArray(a);
sort(a);
printArray(a);
}
}