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);
}
}