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日志对调试,记录运行,问题定位都起到了很重要的 ...
随机推荐
- (转)GNU风格ARM汇编语法指南(非常详细)3
原文地址:http://zqwt.012.blog.163.com/blog/static/120446842010111482023804/ 3.GNU汇编程序中的分段 <1> . ...
- Apex_2. LiveBos两个时间求相差天数、历时
(1)获取两个时间相差天数(没有上午下午区分) var d1=ABS_DATESTRING(FStartTime,'yyyy/MM/dd'); var d2=ABS_DATESTRING(FEndTi ...
- BookStore示例项目---菜单栏UI分析
部署 参照 ABP示例项目BookStore搭建部署 项目解构 1).动态脚本代理 启动项目时,默认会调用两个接口 /Abp/ApplicationConfigurationScript /Abp/S ...
- 用svg+css 或者js制作打钩的动画
之前老板让做一个登陆后 可以显示一个打钩的效果 百度死活搜不到 今天在B站看到的一个视频居然有 根据需求改进了一下废话不多说先看效果! html代码 <!DOCTYPE html> < ...
- vue2.0开发环境下解决跨域问题
1.找到vue 项目下的配置文件 /config/index.js 2.找到 proxyTable 配置项 proxyTable: { '/api': { target: 'http://www.xx ...
- HDU - 1962 二分图最大匹配模板(扑克牌得分最大)
题意: 直接说数据,第一行给定几组数据,每一组数据的第一行是两个人扑克牌分别的数量,第一行是亚当的扑克牌,第二行是夏娃的扑克牌,每一个扑克牌的大小用两个字符来表示,第一个表示是几号扑克牌,第二个表示扑 ...
- Spring Boot熟稔于心的20个常识
1.什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供 ...
- Java中for(;;)和while(true)的区别
while(true): public class Test { public static void main(String[] args) { while(true) { } } } 在?看看汇编 ...
- centos7中安装redis
http://www.open-open.com/lib/view/open1426468117367.html https://www.cnblogs.com/cndavidwang/p/64294 ...
- [noip模拟赛]虫洞holes<SPFA>
虫洞(holes.cpp/c/pas) [题目描述] N个虫洞,M条单向跃迁路径.从一个虫洞沿跃迁路径到另一个虫洞需要消耗一定量的燃料和1单位时间.虫洞有白洞和黑洞之分.设一条跃迁路径两端的虫洞质量差 ...