package com.imooc.method;

import java.util.InputMismatchException;
import java.util.Scanner; public class DataManage {
public int[] insertData(){
int[] a=new int[];
Scanner sc=new Scanner(System.in);
//少接收一个数据,为在指定位置处插入数据做准备;
for(int i=;i<a.length-;i++ ) {
System.out.println("请输入第"+(i+)+"个数据");
try {
a[i]=sc.nextInt();
}catch(InputMismatchException e){
System.out.println("输入的数据格式有误,不能有非数字");
sc.next();
i--;
}
}
return a;
}
/*
* 显示数组中元素的内容
* a:数组:
* length :要显示的数组元素的个数:
* */
public void showData(int[] a,int length) {
for(int i=;i<length;i++) {
System.out.print(a[i]+" ");
}
System.out.println();
}
/*从键盘接收一个数据,插入到数组的指定位置处:
*
* */
public void insertAtArray(int[] a,int n,int k) {
for(int i=a.length-;i>k;i--) {
a[i]=a[i-];
}
a[k]=n;
}
//获取能被3整除的元素:
public void divThree(int[] a) {
String str="";
int count=;
for(int n:a) {
if(n%==) {
str=str+n+" ";
count++;
}
}
if(count==) {
System.out.println("数组中没有能被3整除的元素");
}else {
System.out.println("数组中能被3整除的元素:"+str);
}
}
public void notice() {
System.out.println("*********************************");
System.out.println("1--插入数据");
System.out.println("2--显示所有数据");
System.out.println("3--在指定位置处插入数据");
System.out.println("4--查询能被3整除的数据");
System.out.println("0--退出");
System.out.println("*********************************");
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
DataManage dm=new DataManage();
// dm.notice();
Scanner sc=new Scanner(System.in);
int input=;
int[] a=null;
int n=,k=;//n表示要插入的数据,k是位置:
while(true) {
dm.notice();
System.out.println("请输入对应的数字进行操作");
try {
input=sc.nextInt();
}catch (InputMismatchException e) {
// TODO: handle exception
System.out.println("输入的数据格式有误,不能有非数字");
sc.next();
continue;
}
if(input==) {
System.out.println("退出程序!");
break;
}
switch(input) {
case :
//插入数据:
a=dm.insertData();
//显示数据:
System.out.println("数组元素为");
dm.showData(a, a.length-);
break;
case :
if(a!=null) {
System.out.println("数组元素为:");
if(a[a.length-]==) {
dm.showData(a,a.length-);
}
}else {
System.out.println("还未在数组中插入数据,请重新选择操作");
}
break;
case :
//在指定位置处插入数据:
if(a!=null) {
System.out.println("请输入要插入的数据:");
try {
n=sc.nextInt();
System.out.println("请输入要插入的数据的位置");
k=sc.nextInt();
}catch (InputMismatchException e) {
// TODO: handle exception
System.out.println("输入的数据格式有误,不能有非数字");
sc.next();
break;
}
dm.insertAtArray(a, n, k);
dm.showData(a, a.length);
}else {
System.out.println("还未在数据中插入数据,请重新插入数据");
}
break;
case :
if(a!=null) {
dm.divThree(a);
}else {
System.out.println("还未在数字中插入数据,请重新选择操作");
}
break;
}
}
} }

Java数组移位和统计的更多相关文章

  1. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

  2. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

  3. 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现

    073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...

  4. 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法

    072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...

  5. 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法

    071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...

  6. 070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据

    070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据 本文知识点:综合案例-数组移位-从键盘接收数据 说明:因为时间紧张 ...

  7. 069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求

    069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求 本文知识点:综合案例-数组移位-案例需求 说明:因为时间紧张,本人写博客 ...

  8. [转载]Java数组扩容算法及Java对它的应用

    原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...

  9. Java基础学习-Random类和Java数组

    1.随机数类(Random) package com.denniscui;   import java.util.Random; /*  * Random:用于产生随机数  *  * 使用步骤:  * ...

随机推荐

  1. 性能测试基础---LR场景设置

    ·场景设置. 性能测试场景依托于性能测试脚本,但是又独立于脚本. 所谓场景(scenario),就是用来模拟多用户运行性能测试脚本的情形,是来源于我们对于业务场景的分析的. 性能测试对于业务场景的分析 ...

  2. C# 中静态调用C++dll 和C# 中动态调用C++dll

    在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C++编写,C++到目前为止好像还不能被很好的反编译,当然如果你是反汇编高手的话,也许还是有可能 ...

  3. Linux查看打日志文件

    1.如果文件比较小的话,使用vim直接查看,如果文件比较大的话,使用vim会直接卡主 2.如果想要查看正在滚动的日志文件.这个命令可以查看大文件. tail -f file Ctrl+c 终止tail ...

  4. vue项目中使用vue-layer弹框插件

    vue-layer弹框插件  安装 npm i --save vue-layer 引用 import layer from 'vue-layer' Vue.prototype.$layer = lay ...

  5. GitHub & GitHub Desktop能帮我们做什么

    GitHub: 1.代码版本管理 GitHub Desktop:

  6. reactNative 获取组件高、宽、位置等信息

    import {findNodeHandle, UIManager} from 'react-native' layout(ref) { const handle = findNodeHandle(r ...

  7. jsp request对象

    getParameter( ) :返回name指定参数的参数值 String[]  getParameterValues(String name)    :返回包含参数name的所有值的数值 getA ...

  8. Docker报错“Dockerfile parse error line 1: FROM requires either one or three arguments”

    看官方文档Format: 以 '#' 开头一行被视为评论,出现在其他位置视为参数. 也就不难理解报错原因:将写在同一行的注释视为参数了. 原Dockerfile: 改为:

  9. HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag

    我在项目中导入了jar,还是不能使用EL表达式,一运行就出现了下面的额错误: org.apache.jasper.JasperException: javax.servlet.ServletExcep ...

  10. day007-python函数之课后作业讲解

    作业一: 需求:写函数,计算传入字符串中的[数字].[字母].[空格]以及[其他]的个数 #!/usr/bin/env python # -*- coding:utf-8 -*- #先定义一个函数 d ...