java程序设计基础_陈国君版第五版_第五章例题
public class Main5_1 {
public static void main(String[] args){
int i;
int[] a;
a = new int [5];
for(i=0;i<5;i++){
a[i]=i;
}
for(i=a.length-1;i>=0;i--)
System.out.print("a["+i+"]="+a[i]+",\t");
System.out.println("\n数组a的长度是:"+a.length);
}
}
public class Main5_2 {
public static void main(String[] args){
int i,max,sec;
int[] a = {8,50,20,7,81,55,76,93};
if(a[0]>a[1])
{
max = a[0];
sec = a[1];
}
else
{
max = a[1];
sec = a[0];
}
System.out.print("数组的各元素为:"+a[0]+" "+a[1]);
for(i=2;i<a.length;i++){
System.out.print(" "+ a[i]);
if(a[i]>max)
{
sec = max ;
max = a[i];
}
else
if(a[i]>sec) sec = a[i];
}
System.out.print("\n其中的最大值是:"+max);
System.out.println("\t次最大值是:"+sec);
}
}
public class Main5_3 {
public static void main(String[] args){
final int N = 13,S=3,M=5; //N个人,从第S个人开始从1到M报数。
int[] a = new int[N]; //存放每个人的编号。
int i,star=S-1;
int g=1,k=N; //g用来保证出去的人数,k是多次循环后此时的人数。
for(i=0;i<N;i++) //强每个人的编号放入其中。
{
a[i]=i+1;
}
System.out.println("\n出圈的顺序为:");
do{
star = star + (M-1); //第(star)人的下标开始起 +(m-1)个人出去的下标。并且此下标又是下一次开始的起点。
while(star>=k)
star=star-k;
System.out.println(a[star]+"\t");
for(i=star;i<k-1;i++)
a[i]=a[i+1];
g++;
k--;
}while(g<=N);
}
}
public class Main5_4 {
public static void main(String[] args){
int i,j;
int level = 7;
int[][] iaYong =new int[level][];
System.out.println("杨辉三角形");
for(i=0;i<iaYong.length;i++)
iaYong[i] = new int [i+1];
iaYong[0][0] = 1;
for(i=1;i<level;i++)
{
iaYong[i][0]=1;
iaYong[i][iaYong[i].length-1]=1;
for(j=1;j<iaYong[i].length-1;j++)
iaYong[i][j] = iaYong[i-1][j-1]+iaYong[i-1][j];
}
for(int[] row : iaYong){
for(int col : row){
System.out.print(col+"\t");
}
System.out.println();
}
}
}
public class Main5_5 {
public static void main(String[] args){
int i,j,k,sum=0;
int[][][] a ={{{1,2},{3,4}},{{5,6},{7,8}}};
for(i = 0 ;i<a.length;i++)
for(j=0; j<a[i].length;j++)
for(k=0;k<a[i][j].length;k++)
{
System.out.println("a["+i+"]["+j+"]["+k+"]="+a[i][j][k]);
sum+=a[i][j][k];
}
System.out.println("sum = "+sum);
}
}
public class Main5_6 {
public static void main(String[] args){
String str = "rotor";
int i = 0 ,n;
boolean yn = true;
if(args.length>0)
str = args[0];
System.out.println("str = "+str);
n = str.length();
char sChar,eChar;
while(yn&&(i<n/2)){
sChar = str.charAt(i);
eChar = str.charAt(n-i-1);
System.out.println("sChar = "+sChar+"\teChar = "+eChar);
if(sChar == eChar)
i++;
else
yn = false;
}
System.out.println("算法1:" + yn);
String temp = "",sub1="";
for(i=0;i<n;i++){
sub1 = str.substring(i,i+1);
temp = sub1 + temp;
}
System.out.println("temp = "+temp);
System.out.println("算法2:"+str.equals(temp));
}
}