javaSE_06Java中的数组(array)-提高练习
1.求1!+2!+3!+···+30!的和,定义一个方法
public class Test1{
public static void main(String[] args){
//1.求1!+2!+3!+···+30!的和,定义一个方法
long sum=0;
for(int i=1;i<=30;i++){
sum+=getJieCheng(i);
}
System.out.println("sum="+sum);
}
public static int getJieCheng(int a){
int jieCheng=1;
for(int i=1;i<=a;i++){
jieCheng*=i;
}
return jieCheng;
}
}
2.定义一个整型数组,求数组中奇数的个数和偶数的个数
public class Test2{
public static void main(String[] args){
//2.定义一个整型数组,求数组中奇数的个数和偶数的个数
int[] arr={1,3,5,6,2,56,5};
//偶数的个数
int count=0;
for(int i=0;i<arr.length;i++){
if(arr[i]%2==0){
count++;
}
}
System.out.println("Evencount="+count);
System.out.println("Oddcount="+(arr.length-count));
}
}
3.oddArr={1,3,5,0,0,6,6,0,5,4,7,0,5}要求将数组中为0的项去掉,将不为0的项存入一个新数组
public class Test3{
public static void main(String[] args){
//3.oddArr={1,3,5,0,0,6,6,0,5,4,7,0,5}
//要求将数组中为0的项去掉,将不为0的项存入一个新数组
int[] oddArr={1,3,5,0,0,6,6,0,5,4,7,0,5};
//计算数组中0的个数,为新数组做准备
int count=0;
for(int i=0;i<oddArr.length;i++){
if(oddArr[i]==0){
count++;
}
}
//创建新数组
int count1=0;
int[] newArr=new int[oddArr.length-count];
for(int i=0;i<oddArr.length;i++){
if(oddArr[i]!=0){
count1++;
newArr[count1-1]=oddArr[i];
}
}
for(int m:newArr){
System.out.print(m+" ");
}
}
}
4.有30个0~9之间的数字,统计0~9中每个数字出现的次数
import java.util.Arrays;
public class Test4{
public static void main(String[] args){
//有30个0~9之间的数字,统计0~9中每个数字出现的次数
//int random=(int)(Math.random()*10);
int[] arr=new int[30];
//给数组赋值
for(int i=0;i<arr.length;i++){
arr[i]=(int)(Math.random()*10);
}
//统计每个数的出现的次数
int[] count=new int[10];
for(int i=0;i<count.length;i++){
for(int j=0;j<arr.length;j++){
if(arr[j]==i){
count[i]++;
}
}
}
System.out.println("原数组中的值:"+Arrays.toString(arr));
System.out.println("从0~9每个数字出现的次数:"+Arrays.toString(count));
}
}
5.在排序好的数组中添加一个数字,将数字放在一个合适的位置
import java.util.Arrays;
public class Test5{
public static void main(String[] args){
//5.在排序好的数组中添加一个数字,将数字放在一个合适的位置
int[] arr=new int[20];
//给数组添加数字
for(int i=0;i<arr.length;i++){
arr[i]=(int)(Math.random()*30)+1;
}
System.out.println("原数组:"+Arrays.toString(arr));
//给数组排序
//选择排序
for(int i=0;i<arr.length-1;i++){
int index=i;
for(int j=i+1;j<arr.length-1;j++){
if(arr[index]>arr[j]){
index=j;
}
}
//实现交换
int temp=arr[i];
arr[i]=arr[index];
arr[index]=temp;
}
System.out.println("排好序的数组:"+Arrays.toString(arr));
//定义一个放入的数字
int a=5;
//先获取数字应该放入的位置
int count=0;
for(int i=0;i<arr.length;i++){
if(arr[i]<a){
count++;
}
}
//将新的数字放到数组中
int[] newArr=new int[21];
for(int i=0;i<newArr.length;i++){
if(i<=count){
newArr[i]=arr[i];
}else if(i==count+1){
newArr[i]=a;
}else{
newArr[i]=arr[i-1];
}
}
System.out.println("插入数字后的新数组:"+Arrays.toString(newArr));
}
}
javaSE_06Java中的数组(array)-提高练习的更多相关文章
- C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲
使用C++风格的数组.不须要管理内存. array要注意不要溢出,由于它是栈上开辟内存. array适用于不论什么类型 #include<iostream> #include< ...
- javaSE_06Java中的数组(array)-练习
(1),数组的两种遍历方式,顺序查找,二分查找,求最大最小数,冒泡排序,选择排序. public class Test1{ public static void main(String[] args) ...
- javaSE_06Java中的数组(array)
1.什么是数组? 顾名思义,即为数据的组合或集合,数组就是用来表示一组数据的. 比如没有数组之前,我们要存储多个姓名的信息 String name1; String name2; String nam ...
- javaSE_06Java中的数组(array)-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 : 2)右击在新标签中打开放大查看 (IE不支持,搜狗,360可以):
- js中的数组Array定义与sort方法使用示例
Array的定义及sort方法使用示例 Array数组相当于java中的ArrayList 定义方法: 1:使用new Array(5 )创建数组 var ary = new Array(5): ...
- JS中有关数组Array的常用方法函数
Array对象的方法主要有如下几种(我所知道的): concat()连接两个或多个数组,并返回结果,但是值得注意的是该方法并不改变数组本身,而仅仅返回一个数组连接的副本. push()在数组后面添加一 ...
- JavaScript中的数组Array
抄自:https://www.jianshu.com/p/7e160067a06c js中数组的方法种类众多,有ES5之前版本中存在的,ES5新增,ES6新增等:并且数组的方法还有原型方法和从obje ...
- PIL中的Image和numpy中的数组array相互转换
1. PIL image转换成array img = np.asarray(image) 需要注意的是,如果出现read-only错误,并不是转换的错误,一般是你读取的图片的时候,默认选择的是&quo ...
- JavaScript中的数组Array方法
push(),pop()方法 push(),pop()方法也叫栈方法,push()可以理解成,向末尾推入,而pop()恰好相反,可以理解成从末尾移除(取得). var nums=[1,2,3,4]; ...
随机推荐
- struts2之拦截器
1. 为什么需要拦截器 早期MVC框架将一些通用操作写死在核心控制器中,致使框架灵活性不足.可扩展性降低, Struts 2将核心功能放到多个拦截器中实现,拦截器可自由选择和组合,增强了灵活性,有利于 ...
- MySQL Online DDL的改进与应用
本文简析Online DDL的实现原理与使用过程注意事项. 任何DDL操作,执行者都需要预先测试或者清晰了解这个操作会给数据库带来的影响是否是在业务期间数据库的可承受范围内,尤其是 ...
- java线程控制方法
一.中断线程 1.Thread.sleep()让线程进入睡眠状态,放弃CPU的占用暂停若干毫秒使用方法: public class runable implements Runnable { @Ove ...
- JS 部分基础内容总结
JavaScript 是脚本语言 HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 <body> ...
- 基于Struts2的SpringMVC入门
1.SpringMVC概述 (1)SpringMVC为表现层提供基础的基于MVC设计理念的优秀Web框架, (2)SpringMVC通过一套mvc的注解,让POJO成为处理请求的控制器,而无需任何接口 ...
- AngularJS的相关应用
一.[AngularJS常用指令] 1.ng-app:声明Angular所管辖的区域.一般写在body或html上,原则上一个页面只有一个: <body ng- ...
- 568. Maximum Vacation Days
Problem statement: LeetCode wants to give one of its best employees the option to travel among N ci ...
- LNMP源码编译安装
思路:根据Linux系统以及公司网站系统的信息,选择合适的安装包进行安装 一.查看系统信息 # uname -a # 查看内核/操作系统/CPU信息 # ...
- 使用bootstrap的插件实现模态框效果
在上一篇文章中,我们使用 js+css 实现了模态框效果,在理解了模态框的基本实现方法和实现效果后,我们就要寻找更快捷的方法,又快又好的来完成模态框开发需求,从而节约时间,提高效率.一个好的轮子,不仅 ...
- Jedis连接池使用
构建redis连接池,返还到连接池 private static JedisPool jedisPool = null; private static Jedis jedis; static { je ...