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日志对调试,记录运行,问题定位都起到了很重要的 ...
随机推荐
- Java多线程并发07——锁在Java中的实现
上一篇文章中,我们已经介绍过了各种锁,让各位对锁有了一定的了解.接下来将为各位介绍锁在Java中的实现.关注我的公众号「Java面典」了解更多 Java 相关知识点. 在 Java 中主要通过使用sy ...
- 2. python提示:TypeError: unhashable type: 'list'
原因是,python字典的key不支持list类型和dict类型,需要转换 错误时 将list类型强制转换成string,用"".join(list). 修改后:
- shell编程之字符串处理
# .#号截取,删除左边字符,保留右边字符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 echo ${var#*//} # . ## 号截取,删除左边字符,保留右边字符,##*/ 表示 ...
- MassDNS:跨域DNS枚举工具
MassDNS:跨域DNS枚举工具 simeon 原文地址:http://offsecbyautomation.com/Use-MassDNS/ 工具地址:https://github.com/ble ...
- 图论-完全二叉树判定-Check Completeness of a Binary Tree
2020-02-19 13:34:28 问题描述: 问题求解: 判定方式就是采用层序遍历,对于一个完全二叉树来说,访问每个非空节点之前都不能访问过null. public boolean isComp ...
- java,jq,ajax写分页
1.先写好html基础样式 我懒得去写css样式233,能看就行 <style> #page { width: 20px; } </style> <table> & ...
- Convert JS object to JSON string
Modern browsers (IE8, FF3, Chrome etc.) have native JSON support built in (Same API as with JSON2). ...
- Faiss向量相似性搜索
Faiss 快速入门(1) Faiss 更快的索引(2) Faiss低内存占用(3) Faiss 构建: clustering, PCA, quantization(4) 如何选择Faiss索引(5)
- Ajax-使用教程
运行环境 ajax一定的是运行在网站服务器里面,因此你需要自己配置nodejs服务器 导学:传统的问题还有代理人ajax 传统的http中是又浏览器来做.它在发生和响应的时候网页是不能进行其他操作的 ...
- pycharm 2.7 快捷键
提示 CTRL Q: 在参数列表位置,显示可以输入的所有参数 CTRL Q: 查看选中方法的文档字符串 阅读 CTRL -: 折叠当前代码 CTRL +: 展开当前代码 CTRL SHIFT -: 折 ...