Java开发实例大全:3月14日练习
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.math.BigDecimal;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// new Case019_100().test();
// new Case027().test();
// new Case034().test();
new Case037().test();
// new Case036().test();
// new Case042().test();
}
}
class Case019_100 {
public void test() {
// dispose019();
// dispose020();
// dispose021();
// dispose022();
// dispose023();
// dispose026();
// dispose034();
}
private void dispose019() {
System.out.println("Out");
System.err.println("Err");
}
private void dispose020() {
System.out.println("Your Input:");
String line = new Scanner(System.in).nextLine();
System.out.println("YOur Input:"+line);
}
private void dispose021() {
try {
// PrintStream out = new PrintStream(new FileOutputStream("./src/stdout"));
PrintStream out = new PrintStream("./src/stdout"); //这个地方可以优化
System.setOut(out);
System.out.println("nihao");
System.out.println("happy to see you.");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
private void dispose022() {
System.out.println("Input A Line:");
String line = new Scanner(System.in).nextLine();
//加密
char[] arr = line.toCharArray();
for (int i = 0; i < arr.length; i++) {
arr[i]=(char)(arr[i]^2000);
}
System.out.println("Encrypt Result: "+new String(arr));
//解密
for (int i = 0; i < arr.length; i++) {
arr[i]=(char)(arr[i]^2000);
}
System.out.println("Decode Result: "+new String(arr));
}
private void dispose023() {
System.out.println("Your Input:");
Long num = new Scanner(System.in).nextLong();
String result = num%2==0?"偶数":"奇数";
System.out.println("Result: "+result);
}
private void dispose026() {
//
System.out.println("2*16:" + (1<<5));
}
private void dispose034() {
int layer = 10;
int[][] arrs = new int[layer][layer];
for (int i = 0; i < layer; i++) {
for (int j = 0; j < layer; j++) {
arrs[i][j]=-1;
}
}
for(int i=0;i<layer;i++){
}
}
private void dispose037() {
int size = 10;
if (size % 2 == 0) {
size++;
}
int length = size/2+1;
boolean[][] arrs = new boolean[length][length];
for (int i = 0; i < length; i++) {
for (int j = 0; j < length; j++) {
if(i==j)
arrs[i][j]=true;
else
arrs[i][j]=false;
}
}
}
}
/*
需求:利用异或运算,完成不借助第三个变量实现两个数字的交换
核心公式:
A = A ^ B;
B = B ^ A;
A = A ^ B;
解析:
A = a; B = b;
A = a^b;
B = b^(a^b)=a;
A = (a^b)^(b^(a^b))=b;
*/
class Case027 {
public void test() {
dispose(10,20);
}
private void dispose(int a, int b){
System.out.println("a: "+a+" b: "+b);
a=a^b;
b=a^b;
a=a^b;
System.out.println("a: "+a+" b: "+b);
}
}
/*
需求:杨辉三角
*/
class Case034 {
public void test() {
dispose(10);
}
private void dispose(int layer){
int[][] arrs = new int[layer][layer+2];
//初始化二维数组
for (int i = 0; i < layer; i++) {
for (int j = 0; j < layer + 2; j++) {
arrs[i][j]=-1;
}
}
//
for (int i = 0; i < layer; i++) {
if (i == 0) {
arrs[i][1]=1;
arrs[i][0]=0;
arrs[i][2]=0;
continue;
}
int j;
for (j = 1; j <= i + 1; j++) {
arrs[i][j]=arrs[i-1][j]+arrs[i-1][j-1];
}
arrs[i][0]=0;
arrs[i][j]=0;
}
for(int m = 0;m<layer;m++){
for (int n = 1; n <= m+1; n++) {
System.out.printf("%4d",arrs[m][n]);
}
System.out.println();
}
}
}
/*
需求:计算1+1/2!+1/3!+...+1/20!
*/
class Case036 {
public void test() {
dispose(20);
dispose2(20);
}
private void dispose(int n) {
int[] arrs = new int[n+1];
for (int i = 1; i <= n; i++) {
if (i == 1) {
arrs[i]=1;
continue;
}
arrs[i]=arrs[i-1]*i;
}
double result = 0.0;
for (int i = 1; i <= n; i++) {
result += (double)1/(double)arrs[i];
}
System.out.println("Result:"+result);
}
//这种写法更精炼
private void dispose2(int n) {
BigDecimal sum = new BigDecimal(0.0);
BigDecimal factorial = new BigDecimal(1.0);
int i = 1;
while (i <= n) {
factorial = factorial.multiply(new BigDecimal(1.0/i));
sum=sum.add(factorial);
i++;
}
System.out.println("dispose2: "+sum);
}
}
/*
需求:空心菱形
*/
class Case037 {
public void test() {
dispose(10);
}
private void dispose(int size) {
if (size % 2 == 0) {
size++;
}
for (int i = 1; i <= size; i++) {
//特殊区域
if (i == 1 || i == size) {
for (int j = 1; j <= size / 2; j++) {
System.out.print(" ");
}
System.out.println("*");
continue;
}
if (i == size / 2 + 1) {
System.out.print("*");
for (int j = 2; j < size; j++) {
System.out.print(" ");
}
System.out.println("*");
continue;
}
//上半部分
if(i<size/2+1){
int area = size/2-1;
int layer = i-1;
int lx = area-layer+1;
int rx = layer;
printEdge(area,lx); //左边
printEdge(area,rx);//右边
System.out.println();
}
//下半部分
if(i>size/2+1){
int area = size/2-1;
int layer = i-size/2-1;
int lx = area-layer+1;
int rx = layer;
printEdge(area,rx);//左边
printEdge(area,lx); //右边
System.out.println();
}
}
}
private void printEdge(int area, int x) {
System.out.print(" ");
for(int i=1;i<=area;i++){
if (i == x) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
}
}
/*
需求:本实例接受用户在文本框中输入的单行数据,其中数据都是整型数字,
以不同数量的空格分割数字。将这个单行数据分解成一维数组,并从数组中提
取最小值。
*/
class Case042 {
public void test() {
String[] inputs = new String[]{
"12 23 34 21 23 12 323 2 2 3 ",
"12 23 34 23 ji 3 21 3 2 32 12 3 2 123"
};
for (int i = 0; i < inputs.length; i++) {
dispose(inputs[i]);
}
}
private void dispose(String str) {
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (!Character.isDigit(c) && !Character.isSpaceChar(c)) {
System.out.println("该输入有不合法字符");
return;
}
}
System.out.println("最小的值:"+findMin(split(str)));
}
private int[] split(String str) {
String[] ints = str.split(" +");
int[] result = new int[ints.length];
for (int i = 0; i < result.length; i++) {
result[i]=Integer.valueOf(ints[i]);
}
return result;
}
private int findMin(int[] nums) {
int min = nums[0];
for (int i = 0; i < nums.length; i++) {
if (nums[i] < min) {
min = nums[i];
}
}
return min;
}
}
Java开发实例大全:3月14日练习的更多相关文章
- 关于苹果开发证书失效的解决方式(2016年2月14日Failed to locate or generate matching signing assets)
前言: 从2月14日開始,上传程序的同学可能会遇到提示上传失败的提示. 而且打开自己的钥匙串,发现所有的证书所有都显示此证书签发者无效. Failed to locate or generate ma ...
- 关于16年2月14日以后上传AppStore出现:Missing iOS Distribution signing identity for...的问题
2016年2月14日以后打包上传AppStore会发现出现如下的问题: 导致问题的原因是:下边这个证书过期了 以下是苹果官方给出的回应: Thanks for bringing this to the ...
- eoe移动开发者大会—移动开发者的极客盛宴 2013年9月14日期待您的加入!!
2013 eoe移动开发者大会北京站即将盛大开启! 大会介绍 由国内最大的移动开发者社区eoe主办,在行业盟友的倾力支持下,集合了来自微软.Google.亚马逊.ARM等跨国公司业务负责人的 ...
- 湖人VS爵士!!科比4月14日最后一战,本赛季最高得分!狂得60分!!完美大逆转!!!
莫愁前路无知己,天下谁人不识君.科比,愿你如迈克尔·乔丹,仍然活跃在篮球界.退役不是结束,而是另一段人生的开始. 北京时间2016年4月14日,湖人101-96击败爵士,科比-布莱恩特告别战,20年职 ...
- 12月14日《奥威Power-BI销售计划填报》腾讯课堂开课啦
2016年的最后一个月也过半了,新的一年就要到来,你是否做好了启程的准备?新的一年,有计划,有目标,有方向,才不至于迷茫.规划你的2017,新的一年,遇见更好的自己! 所以 ...
- 2016年12月14日 星期三 --出埃及记 Exodus 21:9
2016年12月14日 星期三 --出埃及记 Exodus 21:9 If he selects her for his son, he must grant her the rights of a ...
- 2016年11月14日 星期一 --出埃及记 Exodus 20:5
2016年11月14日 星期一 --出埃及记 Exodus 20:5 You shall not bow down to them or worship them; for I, the LORD y ...
- 2016年10月14日 星期五 --出埃及记 Exodus 18:25
2016年10月14日 星期五 --出埃及记 Exodus 18:25 He chose capable men from all Israel and made them leaders of th ...
- Java Calendar获取年、月、日、时间
Java Calendar获取年.月.日.时间 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00" ...
随机推荐
- Windows Azure之Mobile Service
我建个android app和Windows Azure的Mobile Service配合,以实现会员注册的功能,实际十分简单,微软家的东西真心好用 首先新建个Mobile Service New-& ...
- 学习Java,容易被你忽略的小细节(2)
昨天心情真的太糟糕了,写完<学习Java,值得注意你注意的问题(1)>之后,迎来些许的支持以后就是一片片的谴责.我的主页上涌现出许许多多Java方面的牛人,谴责我水平太低,写的问题太初级. ...
- shell日期整理
date 当前日期+时间 # 日期格式化:date+"" - date +"%Y%m%d" 不带横杠分隔符的日期20160107 date +"%Y% ...
- Docker环境下的前后端分离项目部署与运维(十一)Docker Swarm技术
Docker Swarm技术 docker swarm技术(之前的docker集群都是在 一个虚拟主机上的,但是如果这个主机挂掉了over了,docker技术就是多个虚拟主机形成一个集群) Swarm ...
- react-redux的Provider和Connect的引发的思考
react是当下非常流行的JS框架,react秉承的设计原则是一切皆组件:react-redux是react中使用redux的桥接工具,react-redux也继承react的设计原则,使用组件的形式 ...
- python文件及路径管理函数
glob模块 说明: 1.glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索, 支持通配符操作 *.?.[] 这三个通配符,*代表0 ...
- Spring 注解编程之模式注解
Spring 框架中有很多可用的注解,其中有一类注解称模式注解(Stereotype Annotations),包括 @Component, @Service,@Controller,@Reposit ...
- 一文看懂javaGC
javaGC回收机制 在面试java后端开发的时候一般都会问到java的自动回收机制(GC).在了解java的GC回收机制之前,我们得先了解下Java虚拟机的内存区域. java虚拟机运行时数据区 j ...
- 系统学习 Java IO (五)----使用 SequenceInputStream 组合多个流
目录:系统学习 Java IO---- 目录,概览 SequenceInputStream 可以将两个或多个其他 InputStream 合并为一个. 首先,SequenceInputStream 将 ...
- 【React】存储全局数据
参考链接:https://segmentfault.com/a/1190000012057010?utm_source=tag-newest webstorage webstorage是本地存储,存储 ...