java day04记录
本文主要记录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记录的更多相关文章
- Java 日志记录规则
Java 日志记录规则 规则一:日志是面向读者的 我们不应该让无价值的信息使日志文件变得乱糟糟,比如说完整打印所有的实体字段. 通常,实体名字和其逻辑关键字足以识别在表格中的一条记录了. 规则二:匹配 ...
- 补充Java面试记录
补充Java面试记录 背景:这两天面试遇到的部分问题都分散在了前面两篇文摘中,这里再做一些其他的记录,以备不时之需! 一.谈谈你对SpringBoot的理解? SpringBoot简介:SpringB ...
- Java问题记录——循环里的二次判断与状态更新
Java问题记录——循环里的二次判断与状态更新 摘要:本文主要记录了在循环操作时可能出现的问题. 问题重现 在使用循环结构时,如果使用了定时任务,或者代码会多次调用循环结构,可能会导致有些对象会被循环 ...
- Java问题记录——OutOfMemoryError
Java问题记录——OutOfMemoryError 摘要:本文主要分析了OutOfMemoryError的产生原因. 没有分页导致占用大量内存 查看进程 使用 jps 命令查看当前运行的Java进程 ...
- Java问题记录——IllegalMonitorStateException
Java问题记录——IllegalMonitorStateException 摘要:本文主要分析了IllegalMonitorStateException的产生原因. 部分内容来自以下博客: http ...
- SLF4J (The Simple Logging Facade for Java)使用记录
SLF4J (The Simple Logging Facade for Java)使用记录 官网 http://www.slf4j.org/ 参考资料 官方文档 什么是 SLF4J? 官网: The ...
- 【Java】记录一次代码优化
前不久的项目时间紧张,为了尽快完成原型开发,写了一段效率相当低的代码. 最近几天闲下来,主动把之前的代码优化了一下:) 标签:Java.Mybatis.MySQL 概况:本地系统从另外一个系统得到 ...
- 普华永道高级JAVA面试记录
最近在考虑换个工作 原因?咱能不逗吗? 一面感觉发挥不错 二面之后累觉不爱 基本上浪费了半天的工资(好多钱啊~~~) PWD上海地址在浦东软件园 工作环境说实话没我现在工作的环境好,不过里面的人 ...
- Java学习笔记(十九)——Java 日志记录 AND log4j
[前面的话] 学习的进度应该稍微在快一点. Java日志到了必须学习怎么使用的时候了,因为在项目中要进行使用.基础性文章,选择性阅读. [结构] java日志对调试,记录运行,问题定位都起到了很重要的 ...
随机推荐
- 【分布式锁】01-使用Redisson实现可重入分布式锁原理
前言 主流的分布式锁一般有三种实现方式: 数据库乐观锁 基于Redis的分布式锁 基于ZooKeeper的分布式锁 之前我在博客上写过关于mysql和redis实现分布式锁的具体方案:https:// ...
- 关于pytorch在windows上编辑的问题集合
cmake在windows上自动寻找v140(VS2015)的编译器,现在只有VS2013的IDE,所以要修改编译器 修改掉VS2015的编译器名称,报错提示参数CMAKE_C_COMPILER和CM ...
- ajax上传文件,通过FromData把数据传给后端
前端代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- bzoj4693
题意 bzoj 做法 结论1:对于\((X_1,X_2,...,X_k)\),其为红的充要条件为:令\(Y_i=X_i-1\),\(\prod\limits_{k=1}^K {\sum\limits_ ...
- vue cli3配置开发环境、测试环境、生产(线上)环境
cli3创建vue项目是精简版的少了build和config这2个文件,所以配置开发环境.测试环境.生产环境的话需要自己创建env文件. 需要注意2点: 1.cli2创建项目生成的config文件里的 ...
- vue封装axios
一.安装axios npm install --save axios 二.在src下面创建文件夹api=>api.js(接口集合)+http.js(封装的请求) 三.在main.js中引用api ...
- 从源码学习Java并发的锁是怎么维护内部线程队列的
从源码学习Java并发的锁是怎么维护内部线程队列的 在上一篇文章中,凯哥对同步组件基础框架- AbstractQueuedSynchronizer(AQS)做了大概的介绍.我们知道AQS能够通过内置的 ...
- Building Applications with Force.com and VisualForce (DEV401) (三):Application Essential:Building Your Data Model
Dev 401-003:Application Essential:Building Your Data Model Object Relationships1.Link two objects- P ...
- DeepMind爆出无监督表示学习模型BigBiGAN,GAN之父点赞!
[导读]今天,DeepMind爆出一篇重磅论文,引发学术圈热烈反响:基于最强图像生成器BigGAN,打造了BigBiGAN,在无监督表示学习和图像生成方面均实现了最先进的性能!Ian Goodfell ...
- TensorFlow系列专题(十三): CNN最全原理剖析(续)
目录: 前言 卷积层(余下部分) 卷积的基本结构 卷积层 什么是卷积 滑动步长和零填充 池化层 卷积神经网络的基本结构 总结 参考文献 一.前言 上一篇我们一直说到了CNN[1]卷积层的特性,今天 ...