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. jmeter 实现登录参数化

    业务场景 在测试过程中,一般需要模拟不同的用户登录,这样压测的数据比较平均,也能更好的模拟真实的压力情况. 如果使用同一个用户账号进行测试,那么比如在查询代办的时候,此人的待办太多,也不符合实际的情况 ...

  2. linux cgroups简介(下)Cgroups 与 Systemd

    Cgroups 是 linux 内核提供的一种机制,如果你还不了解 cgroups,请参考前文<Linux cgroups 简介>先了解 cgroups.当 Linux 的 init 系统 ...

  3. Kubernetes YAML 文件全字段详解

    Kubernetes YAML 文件全字段详解 Deployment yaml 其中主要参数都在podTemplate 中,DaemonSet StatefulSet 中的pod部分一样. apiVe ...

  4. C语言scanf函数转换说明表及其修饰符表

    1. 对于上一篇文章,总结printf()输出,C库也包含了多个输入函数, scanf()是最常用的一个,也是经常与printf()经常一起搭配使用的函数之一. scanf()和printf()类似, ...

  5. httprunner学习19-重复执行用例

    前言 使用httprunner做接口测试过程中,在工作中会遇到这种场景,发现某个接口不稳定,想重复运行100次用例,甚至1000次,看成功率. yml脚本 - config: name: httpbi ...

  6. Beta冲刺(4/7)——2019.5.25

    所属课程 软件工程1916|W(福州大学) 作业要求 Beta冲刺(4/7)--2019.5.25 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里 ...

  7. Flutter 数据存储之 shared_preferences

    资源名称 网址 github https://github.com/flutter/plugins/tree/master/packages/shared_preferences Flutter 数据 ...

  8. BZOJ - 3242 :快餐店 (基环树DP) 最小化半径

    题意:给定N点N边的无向连通图,现在让你在图中找一点作为餐厅,使得最远点距离这点最近. 思路:为了保留整数,我们求最小直径,最后去除2.  直径来源于两部分: 1,在外向树中: 那么就是树的直接,一棵 ...

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

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

  10. tomcat catalina

    脚本catalina用于启动和关闭tomcat服务器,是最关键的脚本 在tomcat里有此文件 写这个脚本的人为什么命名为catalina一开始我还以为是其初恋女友,后来才知道原来是一个小岛的名字.