今天是学习 JAVA语言 打卡的第23天,每天我会提供一篇文章供群成员阅读( 不需要订阅付钱 ),读完文章之后,按解题思路,自己再实现一遍。在小虚竹JAVA社区 中对应的 【打卡贴】打卡,今天的任务就算完成了。
因为大家都在一起学习同一篇文章,所以有什么问题都可以在群里问,群里的小伙伴可以迅速地帮到你,一个人可以走得很快,一群人可以走得很远,有一起学习交流的战友,是多么幸运的事情。
学完后,自己写篇学习报告的博客,可以发布到小虚竹JAVA社区 ,供学弟学妹们参考。
我的学习策略很简单,题海策略+ 费曼学习法。如果能把这100题都认认真真自己实现一遍,那意味着 JAVA语言 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。
题目:有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数
使用list的remove和add来实现
public class Basics23 {
public static void main(String[] args) {
int m,i;
int s[]= new int[100];
Scanner input = new Scanner(System.in);
ArrayList<Integer> list= new ArrayList<Integer>();
System.out.println("请输入10个整数:");
for(i=1;i<=10;i++){
System.out.print("第"+i+"个整数:");
list.add(input.nextInt());
}
System.out.print("请输入后移的位数:");
//m为后移多少位
m=input.nextInt();
for(i=1;i<=m;i++) {
//把需要放到前面的m的数依次赋值给数组s[]
s[i-1]=list.get(list.size()-1);
//然后删除动态list里的m个数
list.remove(list.size()-1);
}
for(i=1;i<=m;i++){
//把数组s[]中的值,依次插入到动态list的第0位
list.add(0,s[i-1]);
}
for(i=0;i<list.size();i++){
System.out.print(list.get(i)+" ");
}
}
}
《JAVA从零到壹》
《JAVA从零到壹》第三讲:条件循环
《JAVA从零到壹》第十讲:集合框架
关注下面的公众号,回复筑基+题目号
筑基23
联系客服