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]; ...
随机推荐
- Eclipse默认编码设置
eclipse 默认编码居然是GBK,js文件默认编码是ISO-....怎么可以这样呢?都修改成UTF8的方法:1.windows->Preferences...打开"首选项" ...
- 【算法】RMQ LCA 讲课杂记
4月4日,应学弟要求去了次学校给小同学们讲了一堂课,其实讲的挺内容挺杂的,但是目的是引出LCA算法. 现在整理一下当天讲课的主要内容: 开始并没有直接引出LCA问题,而是讲了RMQ(Range Min ...
- webstorm配置编译sass的输出目录
关于这个的问题,虽说不是很难,但还是踩了点小坑,下面就来介绍下如何使用webstorm配置编译sass的输出目录. 1.下载Ruby 2.使用Ruby安装sass 3.检测是否安装成功. 前面的几步很 ...
- ASP.NET MVC5请求管道和生命周期
请求处理管道 请求管道是一些用于处理HTTP请求的模块组合,在ASP.NET中,请求管道有两个核心组件:IHttpModule和IHttpHandler.所有的HTTP请求都会进入IHttpHandl ...
- std::thread使用
本文将从以下三个部分介绍C++11标准中的thread类,本文主要内容为: 启动新线程 等待线程与分离线程 线程唯一标识符 1.启动线程 线程再std::threada对象创建时启动.最简单的情况下, ...
- [.NET] 《Effective C#》读书笔记(二)- .NET 资源托管
<Effective C#>读书笔记(二)- .NET 资源托管 简介 续 <Effective C#>读书笔记(一)- C# 语言习惯. .NET 中,GC 会帮助我们管理内 ...
- 推送一个已有的代码到新的 gerrit 服务器
1.指定项目代码库中迭代列出全部ProductList(.git)到pro.log文件中 repo forall -c 'echo $REPO_PROJECT' | tee pro.log pro.l ...
- PHP命名空间理解
这玩意就是路径! 这玩意就是路径! 这玩意就是路径! 这玩意就是路径! 这玩意就是路径! use 就是声明要用某个路径的文件(类) 再有namespace的情况下,就类似于已经在一个路径里了 这个时候 ...
- Express - 入门
Express入门篇 1.HelloWorld 根目录新建server.js文件,插入代码: var express = require('express'); var app = express( ...
- HTML5 拖放(Drag 和 Drop)功能开发——基础实战
随着HTML5的普及度越来越高,现在写代码也遇到一些了,经过同事的点播开展了一次Dojo活动用以技术交流,我也乘此机会将HTML5的拖放功能整理了一下. 简介 拖拽(Drag/Drop)是个非常普遍的 ...