Java练习七

75 阅读2分钟

翻转数组

设存在以下数组:

har[][] chunxiao = {
{ '春' , '眠' , '不' , '觉' , '晓' } ,
{ '处' , '处' , '闻' , '啼' , '鸟' } ,
{ '夜' , '来' , '风' , '雨' , '声' } ,
{ '花' ,  '落' , '知' , '多' , '少' }
} ;

将其输出成如下形式

image-20230809190550417

  • 尝试设计一组循环语句,将以上形式的输出结果翻转为以下形式(旋转 90 度):

image-20230809190648728

思考: 如果是一首词该如何旋转输出:

十年生死两茫茫,不思量,自难忘。 千里孤坟,无处话凄凉。 纵使相逢应不识,尘满面,鬓如霜。 夜来幽梦忽还乡,小轩窗,正梳妆。 相顾无言,惟有泪千行。 料得年年肠断处,明月夜,短松冈。

数组排序

设存在以下数组:

// 设 names 数组中存放学生姓名
String[] names = { "安琪拉" , "王昭君" , "蔡文姬" , "妲己" , "张良" };
// 设 courses 数组中依次存放三门课程的名称
String[] courses = { "C++" , "Java" , "Python" };
// 设 scores 数组中依次存储的是 names 数组中各个学生的 C++ 、Java 、Python 课程的
成绩
int[][] scores = {
{ 90 , 89 , 75 } ,
{ 59 , 40 , 100 } ,
{ 100 , 99 , 80 } ,
{ 80 , 61 , 61 } ,
{ 60 , 100 , 99 } ,
};

采用以下程序可以输出每个学生的姓名以及该学生各门课程的成绩:采用以下程序可以输出每个学生的姓名以及该学生各门课程的成绩:

for( int i = 0 ; i < scores.length ; i++ ){
System.out.print( names[ i ] + " => " ); // 输出学生姓名
for( int j = 0 ; j < scores[ i ] .length ; j++ ){
System.out.print( courses[ j ] + ":");// 输出课程名称
System.out.print( scores[ i ][ j ] ); // 输出课程成绩
if( j < scores[ i ] .length - 1 ) {
System.out.print( " , " );
}
}
System.out.println();
}

  1. 设计程序按照各个学生的 Java 成绩进行排序 ( 降序 )

  2. 设计程序,根据学生总成绩进行排序(降序排列),并输出学生姓名、每门课程的名称和 该学生的成绩、该学生的总成绩

杨辉三角

编写一个程序,生成一个给定行数的杨辉三角

复制数组【拓展】

有如下数组 nums ,请通过删除掉其中的 33 ,得到一个新的数组 newNums

int[] nums = {2, 11, 33, 44, 55, 66, 277}
//newNums = {2, 11, 44,55, 66, 277}

使用多种方式实现:

  1. for 循环(自己写方法实现)
  2. System 类中的 arraycopy 方法实现