课后归档6

一.五子棋盘

利用二维数组输出一个15*15的棋盘,棋盘的原素为“+”,就是输出一个横纵都是15个“+”的二维数组,然后再以坐标形式输入棋子“●”,替换掉原来棋盘里的“+”。再编写是否游戏结束的代码。

二.数字转换

源代码:

import java.util.Scanner;

public class zhuanhuan

{

private String[] hanArr = {"零" , "一" , "二" , "三" , "四" ,

"五" , "六" , "七" , "八" , "九"};

private String[] unitArr = {"十" , "百" , "千","万","十万","百万"};

private String toHanStr(String numStr)

{

String result = "";

int numLen = numStr.length();

for (int i = 0 ; i < numLen ; i++ )

{

int num = numStr.charAt(i) - 48;

if ( i != numLen - 1 && num != 0)

{

result += hanArr[num] + unitArr[numLen - 2 - i];

}

else

{

if(result.length()>0 && hanArr[num].equals("零") && result.charAt(result.length()-1)==‘零‘)

continue;

result += hanArr[num];

}

}

if(result.length()==1)

return result;

int index=result.length()-1;

while(result.charAt(index)==‘零‘)

{

index--;

}

if(index!=result.length()-1)

return result.substring(0,index+1);

else

{

return result;

}

}

public static void main(String[] args)

{

zhuanhuan nr = new zhuanhuan();

System.out.println("只支持整数(0~百万)");

Scanner scanner = new Scanner(System.in);

System.out.println("请输入一个百万以下的整数:");

String str = scanner.next();

System.out.println(nr.toHanStr(str));

}

}

运行结果截图:

三.大数

源代码:

import java.util.Scanner;

public class dashu

{

public static void main(String args[])

{

System.out.println("请输入第一个数:");

Scanner scanner = new Scanner(System.in);

String input1 = scanner.next();

System.out.println("请输入第二个数:");

String input2 = scanner.next();

int[] number1 = new int[100];

int[] number2 = new int[100];

int[] number3 = new int[100];

int[] number4 = new int[100];

int a = 0;

int b = 0;

for(int i = input1.length() - 1; i >= 0; i--)

{

int number = input1.charAt(i) - 48;

number1[a] = number;

a++;

}

for(int i = input2.length() - 1; i >= 0; i--)

{

int number = input2.charAt(i) - 48;

number2[b] = number;

b++;

}

if(input1.length() > input2.length())

{

for(int i = 0; i < b; i++)

{

number3[i] = number1[i] + number2[i];

}

for(int i = b; i < a; i++)

{

number3[i] = number1[i];

}

for(int i = input1.length() - 2; i >= 0; i--)

{

if(number3[i]>9)

{

number3[i] = number3[i] - 10;

number3[i + 1] = number3[i + 1] + 1;

}

}

System.out.println("两数相加的和为:");

for(int i = input1.length() - 1; i >= 0; i--)

{

System.out.print(number3[i]);

}

}

else if(input1.length() <input2.length())

{

for(int i = 0; i < a; i++)

{

number3[i] = number1[i] + number2[i];

}

for(int i = a; i < b; i++)

{

number3[i] = number2[i];

}

for(int i = input2.length() - 1; i >= 0; i--)

{

if(number3[i]>9)

{

number3[i] = number3[i] - 10;

number3[i + 1] = number3[i + 1] + 1;

}

}

System.out.println("两数相加的和为:");

for(int i = input2.length() - 1; i >= 0; i--)

{

System.out.print(number3[i]);

}

}

else

{

for(int i = 0; i < a; i++)

{

number3[i] = number1[i] + number2[i];

}

for(int i = input2.length() - 2; i >= 0; i--)

{

if(number3[i]>9)

{

number3[i] = number3[i] - 10;

number3[i + 1] = number3[i + 1] + 1;

}

if(number3[input2.length() - 1] > 9)

{

}

}

System.out.println("两数相加的和为:");

for(int i = input2.length() - 1; i >= 0; i--)

{

System.out.print(number3[i]);

}

}

System.out.println();

if(input1.length() > input2.length())

{

for(int i = 0; i < b; i++)

{

number3[i] = number1[i] - number2[i];

}

for(int i = b; i < a; i++)

{

number3[i] = number1[i];

}

for(int i = input1.length() - 1; i >= 0; i--)

{

if(number3[i] < 0)

{

number3[i] = number3[i] + 10;

number3[i + 1] = number3[i + 1] - 1;

}

}

if(number3[input1.length() - 1] == 0)

{

System.out.println("第一个数减第二个数的差为:");

for(int i = input1.length() - 2; i >= 0; i--)

{

System.out.print(number3[i]);

}

}

else

{

System.out.println("第一个数减第二个数的差为:");

for(int i = input1.length() - 1; i >= 0; i--)

{

System.out.print(number3[i]);

}

}

}

else if(input1.length() < input2.length())

{

for(int i = 0; i < a; i++)

{

number3[i] = number2[i] - number1[i];

}

for(int i = a; i < b; i++)

{

number3[i] = number2[i];

}

for(int i = input2.length() - 1; i >= 0; i--)

{

if(number3[i] < 0)

{

number3[i] = number3[i] + 10;

number3[i + 1] = number3[i + 1] - 1;

}

}

if(number3[input2.length() - 1] == 0)

{

System.out.println("第一个数减第二个数的差为:");

System.out.print("-");

for(int i = input2.length() - 2; i >= 0; i--)

{

System.out.print(number3[i]);

}

}

else

{

System.out.println("第一个数减第二个数的差为:");

System.out.print("-");

for(int i = input2.length() - 1; i >= 0; i--)

{

System.out.print(number3[i]);

}

}

}

else

{

for(int i = 0; i < a; i++)

{

number3[i] = number1[i] - number2[i];

}

for(int i = input2.length() - 2; i >= 0; i--)

{

if(number3[i] < 0)

{

number3[i] = number3[i] + 10;

number3[i + 1] = number3[i + 1] - 1;

}

}

if(number3[input2.length() - 1] == 0)

{

System.out.println("第一个数减第二个数的差为:");

for(int i = input2.length() - 2; i >= 0; i--)

{

System.out.print(number3[i]);

}

}

else

{

System.out.println("第一个数减第二个数的差为:");

for(int i = input2.length() - 1; i >= 0; i--)

{

System.out.print(number3[i]);

}

}

}

}

}

运行结果截图:

 
   

四.数组随机数

时间: 2024-10-14 21:58:35

课后归档6的相关文章

Java语言多态课后归档作业

一.类型转换 class Mammal{} class Dog extends Mammal {} class Cat extends Mammal{} public class TestCast { public static void main(String args[]) { Mammal m; Dog d=new Dog(); Cat c=new Cat(); m=d; //d=m; 出错 d=(Dog)m; //d=c; 出错 //c=(Cat)m; } } 总结:子类能赋给父类,改变

shell课后总结

shell课后总结 作者:高波 归档:学习笔记 2017年12月4日13:31:08 快捷键: Ctrl + 1 标题1 Ctrl + 2 标题2 Ctrl + 3 标题3 Ctrl + 4 实例 Ctrl + 5 程序代码 Ctrl + 6 正文 格式说明: 蓝色字体:注释 黄色背景:重要 绿色背景:注意 目 录 1.1 目 录    I 第一章    1 1.1.1 内置命令和一般命令内置命令效率高.    1 1.1.2 yum是python写的默认系统的python是2.7.如果直接下载

问题 1018: C语言程序设计教程(第三版)课后习题6.8

/******************************************************************** @file Main.cpp @date 2017-05-12 @author Zoro_Tiger @brief 问题 1018: C语言程序设计教程(第三版)课后习题6.8 http://www.dotcpp.com/oj/problem1018.html *************************************************

linux下的压缩、归档

压缩  bz2.xz.zip.Z 不能压缩目录,压缩后默认删除原文件. gz: gzip /path/filename -d 解压缩 gunzip /paht/some_filename zcat /path/somefile.gz:在不解压的条件下,查看文本文件的内容. bzip2:比gzip有更大压缩比. bzip2 /path/some_filename -d 解压缩 -k 保留原文件 bunzip2 /path/some_filename bzcat /path/somefile.bz2

RAC 环境下修改归档模式

RAC环境下的归档模式切换与单实例稍有不同,主要是共享存储所产生的差异.在这种情况下,我们可以将RAC数据库切换到非集群状态下,仅仅在一个实例上来实施归档模式切换即可完成RAC数据库的归档模式转换问题.本文主要描述了由非归档模式切换到归档模式,而由非归档切换的归档步骤相同,不再赘述. [sql] view plain copy print? 1.主要步骤: 备份spfile,以防止参数修改失败导致数据库无法启动 修改集群参数cluster_database为false 启动单实例到mount状态

IOS学习之NSKeyedArchiver、NSKeyedUnarchiver归档

IOS保存文件的其中一种形式是NSKeyedArchiver.NSKeyedUnarchiver归档: 以下内容以一个to-do lists软件为例,ChecklistItem为一个项目(数据模型),包含一个字符串text和一个BOOL标记checked,items是视图控制器的NSMutableArray,包含多个ChecklistItem,保存数据时以items为整体保存到.plist文件,读取则一样. 1.首先在数据模型的.h文件中实现协议<NSCoding>,例如: @interfac

oracle11g dataguard failover重建后归档日志没有被应用被NO的问题

1,主库从库归档记录不一致,如下所示: 做完failover后,坏的旧主库变成了新的从库,但是新从库的归档日志记录不一致,就是archive log list;出来的和v$archived_log出来对不上号,如下所示: 1.1 主库: SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Olde

iOS中的 沙盒文件夹 (数据的写入和读取,归档和反归档)

AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { /** 沙盒中文件夹: 1.Documents : 存储长久保存的数据 2.library: Caches:存放的缓存,比如:视频,音频,图片,小说等等 Perferences:存储偏好设置,比如:应用程序是否是第一次启动 保存用户名和密码. 3.t

2015年9月5日--课后作业

1.总结Linux系统上的任务计划(at.crontab)的详细使用方法: at命令: 承载未来时间运行的某作业: 支持使用作业队列: 默认为a队列: Ctrl+d at [option]... TIME TIME: (1) 绝对时间 HH:MM, MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY or [CC]YY-MM-DD tomorrow (2) 相对时间 now+#UNIT minute, hour, day, week (3) 模糊时间 midnight