Java练习七

本文讨论了如何在编程中对给定数组进行翻转、旋转,如诗词的旋转显示,以及对学生成绩数组按照Java成绩和总成绩进行排序。同时涉及杨辉三角生成和数组复制删除操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

翻转数组

设存在以下数组:

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 方法实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言行不易

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值