本文主要记录arr数组用法、count计算、arr倒排序技巧案例

package day4homework;

import java.util.Scanner;
/*
从键盘上输入10个整数,合法值位1、2或3,不是这3个数则为非法数字。试编程统计每个整数和非法数字的个数。
1.创建键盘录入对象
2.定义长度为10的int类型的数组
3.定义int类型的变量count1(统计1的个数)、count2(统计2的个数)、count3(统计3的个数)、count4(统计非法数字的个数)
4.利用for循环给数组元素赋值
5.利用for循环遍历数组
(1)获取当前元素
(2)使用if进行判断
a.如果等于1 count1++
b.否则,如果等于2 count2++
c.否则,如果等于3 count3++
d.否则 count4++ 6.打印统计结果*/
public class ArrayCount4 {
public static void main(String[] args) {
int[] arr = new int[];
int count = ;
int count1 = ;
int count2 = ;
for (int i=;i<;i++) {
Scanner s = new Scanner(System.in);
int putdate = s.nextInt();
arr[i] = putdate;
if (arr[i]==) {
count++;
}else if (arr[i]==) {
count1++;
}else {
count2++;
}
}
System.out.println("1:"+count);
System.out.println("2:"+count1);
System.out.println("不合法:"+count2);
}
}

输出结果:

package day4homework;

import java.util.Scanner;
/*
假设有一个长度为5的数组,数组元素通过键盘录入,如下所示:
int[] arr = {1,3,-1,5,-2}
要求:
创建一个新数组newArr[],新数组中元素的存放顺序与原数组中的元素逆序,并且如果原数组中的元素值小于0,
在新数组中按0存储。最后输出原数组和新数组中的内容 1.创建键盘录入对象
2.定义长度为5的int类型的数组arr
3.利用for循环通过键盘录入给数组元素赋值
4.定义长度为5的int类型的新数组newArr,定义int类型的变量index=0,用来表示新数组的元素索引
5.倒着遍历原数组
(1)定义int类型的变量num,并将数组当前元素的值赋值给num
(2)使用if判断num的值
a.如果num>=0,直接将num赋值给新数组的当前元素,index++
b.否则直接将0复制给新数组的当前元素,index++
*/
public class Array_DaoXu5 {
public static void main(String[] args) {
int[] arr = new int[];
System.out.println("请输入:"); for(int i=;i<=;i++) {
Scanner s = new Scanner(System.in);
int putdate = s.nextInt();
arr[i] = putdate;
System.out.println(arr[i]);
} int[] arr2 = new int[];
int count = -;
for(int i=;i>=;i--) {
count++;//count 从0加到4
if(arr[i]>=) {
arr2[count] = arr[i];
}else {
arr2[count] = ;
}
System.out.println(arr2[count]);
}
}
} //public class Test5 {
// public static void main(String[] args) {
// //定义一个数组,用来接收数据
// int[] arr = new int[5];
// //创建键盘录入对象
// Scanner sc = new Scanner(System.in);
// //键盘录入数据,将获取到的数据存入到数组中
// for(int i = 0; i < arr.length; i++) {
// System.out.println("请输入第" + (i + 1) + "个数据:");
// //获取键盘录入数据
// int a = sc.nextInt();
// arr[i] = a;
// }
// //定义新数组,用来存储要求的数据,长度和源数组一致
// int[] newArr = new int[arr.length];
// //遍历源数组
// for(int i = 0; i < arr.length; i++) {
// //倒着获取每一个元素
// int a = arr[arr.length - 1 - i];
// //判断该元素是否是负数,如果是,给新元素赋0
// if(a < 0) {
// newArr[i] = 0;
// } else {//如果不是,将该元素赋值给新数组
// newArr[i] = a;
// }
// }
// //打印结果
// System.out.println("原数组内容:");
// for(int i = 0; i < arr.length; i++) {
// System.out.print(arr[i] + " ");
// }
// System.out.println();
// System.out.println("新数组内容:");
// for(int i = 0; i < newArr.length; i++) {
// System.out.print(newArr[i] + " ");
// }
// }
//}

输出结果

package day4homework;

import org.omg.Messaging.SYNC_WITH_TRANSPORT;

import java.util.Scanner;
/*
假设一个简单的在ATM的取款过程如下:首先提示用户输入密码(password),
最多只能输入3次,超过3次则提示用户"密码错误,请取卡"交易结束。
如果用户密码正确,再提示用户输入金额(amount),ATM只能输出100元的纸币,一次取钱数要求最低0元,最高1000元。
如果用户输入的金额符合上述要求,则打印输出用户取的钱数,最后提示用户"交易完成,请取卡",否则提示用户重新输入金额。假设用户密码是"111111"。
*/
public class ArrayATM {
public static void main(String[] args) {
System.out.println("请输入密码:");
int password = ;
for(int i=;i<;i++) {
Scanner s = new Scanner(System.in);
int putdate = s.nextInt();
if(putdate == password) {
System.out.println("恭喜,输入正确!"); while (true) {
System.out.println("请输入取款金额:");
int many = s.nextInt();
int many2 = ;
if (many%%==) {
many2 = many;
if(many2/<=&many2/>) {
System.out.println("请取走现金:"+many2);
break;
}else {
System.out.println("输入失败,请重新输入");
break;
}
}else {
System.out.println("输入失败,请重新输入2");
} }
break;
}else {
if(i==) {
System.out.println("密码错误,请取卡~~");
break;
} System.out.println("输入错误,请重新输入:");
}
}
}
}

输出结果:

java day04记录的更多相关文章

  1. Java 日志记录规则

    Java 日志记录规则 规则一:日志是面向读者的 我们不应该让无价值的信息使日志文件变得乱糟糟,比如说完整打印所有的实体字段. 通常,实体名字和其逻辑关键字足以识别在表格中的一条记录了. 规则二:匹配 ...

  2. 补充Java面试记录

    补充Java面试记录 背景:这两天面试遇到的部分问题都分散在了前面两篇文摘中,这里再做一些其他的记录,以备不时之需! 一.谈谈你对SpringBoot的理解? SpringBoot简介:SpringB ...

  3. Java问题记录——循环里的二次判断与状态更新

    Java问题记录——循环里的二次判断与状态更新 摘要:本文主要记录了在循环操作时可能出现的问题. 问题重现 在使用循环结构时,如果使用了定时任务,或者代码会多次调用循环结构,可能会导致有些对象会被循环 ...

  4. Java问题记录——OutOfMemoryError

    Java问题记录——OutOfMemoryError 摘要:本文主要分析了OutOfMemoryError的产生原因. 没有分页导致占用大量内存 查看进程 使用 jps 命令查看当前运行的Java进程 ...

  5. Java问题记录——IllegalMonitorStateException

    Java问题记录——IllegalMonitorStateException 摘要:本文主要分析了IllegalMonitorStateException的产生原因. 部分内容来自以下博客: http ...

  6. SLF4J (The Simple Logging Facade for Java)使用记录

    SLF4J (The Simple Logging Facade for Java)使用记录 官网 http://www.slf4j.org/ 参考资料 官方文档 什么是 SLF4J? 官网: The ...

  7. 【Java】记录一次代码优化

    前不久的项目时间紧张,为了尽快完成原型开发,写了一段效率相当低的代码. 最近几天闲下来,主动把之前的代码优化了一下:)   标签:Java.Mybatis.MySQL 概况:本地系统从另外一个系统得到 ...

  8. 普华永道高级JAVA面试记录

    最近在考虑换个工作 原因?咱能不逗吗? 一面感觉发挥不错  二面之后累觉不爱  基本上浪费了半天的工资(好多钱啊~~~) PWD上海地址在浦东软件园  工作环境说实话没我现在工作的环境好,不过里面的人 ...

  9. Java学习笔记(十九)——Java 日志记录 AND log4j

    [前面的话] 学习的进度应该稍微在快一点. Java日志到了必须学习怎么使用的时候了,因为在项目中要进行使用.基础性文章,选择性阅读. [结构] java日志对调试,记录运行,问题定位都起到了很重要的 ...

随机推荐

  1. Java 内存模型都不会,就敢在简历上写熟悉并发编程吗

    从 PC 内存架构到 Java 内存模型 你知道 Java 内存模型 JMM 吗?那你知道它的三大特性吗? Java 是如何解决指令重排问题的? 既然CPU有缓存一致性协议(MESI),为什么 JMM ...

  2. 「踩坑记」Android API 判断权限申请结果的闪退问题

    这几天尝试着用Android Studio写一个小工具的时候遇到了一个动态权限申请的问题.权限的申请使用的语句为: ActivityCompat.requestPermissions(this, ne ...

  3. 强连通分量SCC 2-SAT

    强连通分量SCC 2-SAT 部分资料来自: 1.https://blog.csdn.net/whereisherofrom/article/details/79417926 2.https://ba ...

  4. Servlet(简介,请求参数,页面跳转,生命周期,创建,配置,ServletContext,线程)

    1.Servlet简介 servlet是java servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序, 主要功能在于交互式浏览和修改数据,生成动态的web内容 服务端运行的 ...

  5. WxPython 4.0.4多线程访问UI

    最开始做框架的时候的需求就是多线程访问UI,以前在.NET WPF使用MVVM和数据驱动很容易做到,在JavaSwing中使用另类的观察者模式也实现了.在WxPython中使用观察者模式直接程序崩溃, ...

  6. Drawing Simple Polygon(Create Simple Polygon from unordered points by angle sorting)

    Keywords: 极角排序, Simple Polygon Generation Given set of points in the plane, your task is to draw a p ...

  7. 读Hadoop3.2源码,深入了解java调用HDFS的常用操作和HDFS原理

    本文将通过一个演示工程来快速上手java调用HDFS的常见操作.接下来以创建文件为例,通过阅读HDFS的源码,一步步展开HDFS相关原理.理论知识的说明. 说明:本文档基于最新版本Hadoop3.2. ...

  8. 北邮oj 104. 912星球的研究生

    104. 912星球的研究生 时间限制 1000 ms 内存限制 65536 KB 题目描述 最近912星球的研究生入学了,912星球的教务处因此忙的焦头烂额,要求yzr做一个信息管理系统登陆查询研究 ...

  9. 如何设置mysql远程访问

    如何设置mysql远程访问 Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 在MySQL Server端: 执行mysql 命令进入mysql 命令模式, mysql> ...

  10. OpenCV-Python 光流 | 四十八

    目标 在本章中, 我们将了解光流的概念及其使用Lucas-Kanade方法的估计. 我们将使用cv.calcOpticalFlowPyrLK()之类的函数来跟踪视频中的特征点. 我们将使用cv.cal ...