Java数组课后作业
1.运行TestArrays.java,了解Arrays中的一些重要方法的用法。

Arrays.equals(a 1, a2):判断数组是否相等。
int[] b = Arrays.copyOf(a, 6):将a数组赋给b数组,长度为6。
Arrays.fill(b , 2, 4 , 1):将b数组的第3个元素(包括)到第5个元素(不包括)赋为1。
Arrays.sort(b):对b数组进行排序。
2.请编写一个程序将一个整数转换为汉字读法字符串。比如“1123”转换为“一千一百二十三”。
public class Num2Rmb
{
private String[] hanArr = {"零" , "壹" , "贰" , "叁" , "肆" ,
"伍" , "陆" , "柒" , "捌" , "玖"};
private String[] unitArr = {"十" , "百" , "千","万","十万","百万"};
/**
* 把一个四位的数字字符串变成汉字字符串
* @param numStr 需要被转换的四位的数字字符串
* @return 四位的数字字符串被转换成的汉字字符串。
*/
private String toHanStr(String numStr)
{
String result = "";
int numLen = numStr.length();
//依次遍历数字字符串的每一位数字
for (int i = 0 ; i < numLen ; i++ )
{
//把char型数字转换成的int型数字,因为它们的ASCII码值恰好相差48
//因此把char型数字减去48得到int型数字,例如'4'被转换成4。
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)
{
Num2Rmb nr = new Num2Rmb();
System.out.println("只支持整数(0~百万)");
//测试把一个四位的数字字符串变成汉字字符串
System.out.println(nr.toHanStr("0"));
System.out.println(nr.toHanStr("1"));
System.out.println(nr.toHanStr("10"));
System.out.println(nr.toHanStr("15"));
System.out.println(nr.toHanStr("110"));
System.out.println(nr.toHanStr("123"));
System.out.println(nr.toHanStr("105"));
System.out.println(nr.toHanStr("1000"));
System.out.println(nr.toHanStr("1100"));
System.out.println(nr.toHanStr("1110"));
System.out.println(nr.toHanStr("1005"));
System.out.println(nr.toHanStr("1105"));
System.out.println(nr.toHanStr("1111"));
System.out.println(nr.toHanStr("10000"));
System.out.println(nr.toHanStr("10001"));
System.out.println(nr.toHanStr("10011"));
System.out.println(nr.toHanStr("10111"));
System.out.println(nr.toHanStr("11111"));
System.out.println(nr.toHanStr("11000"));
System.out.println(nr.toHanStr("11100"));
System.out.println(nr.toHanStr("11110"));
System.out.println(nr.toHanStr("101110"));
System.out.println(nr.toHanStr("1001110"));
}
}

3.随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中。
设计思路:利用随机数算法产生10个随机数,并让它们累加。
程序流程图:

源代码:
package test;
import javax.swing.JOptionPane;
public class ArraySum{
public static void main(String[] args){
int[] array=new int[10];//定义一个数组,长度为10。
int result=0; //定义一个变量初值为0。
String output="";
//随机生成一个100以内的数,填充数组。
for(int i=0;i<array.length;i++)
array[i]=(int)(Math.random()*100);
//将数组元素输出。
output+="随机生成的十个数是:"+"\n";
for(int i=0;i<array.length;i++)
output+=array[i]+" ";
output+="\n";//换行
//将数组元素相加。
for(int i=0;i<array.length;i++)
result+=array[i];
output+="十个数相加等于:"+"\n"+result;
//以消息框的形式输出。
JOptionPane.showMessageDialog(null, output,
"输出",JOptionPane.INFORMATION_MESSAGE);
}
}
结果截图:
Java数组课后作业的更多相关文章
- Java字符串课后作业
[实验任务] 1.实验题目:字串加密 2.实验内容:古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
- java课程课后作业190425之一维数组最大子数组(界面实现)
题目要求: 1.在第一个问题过程中,我在以前的代码中好像已经写出了这个功能,想要实现这个功能,我们只需要在我们储存的数组和是负数的时候对中转值进行重新赋值就可以得到新的数值的起始位置,而他的终了位置就 ...
- Java课程课后作业190315之从文档中读取随机数并得到最大连续子数组
从我上一篇随笔中,我们可以得到最大连续子数组. 按照要求,我们需要从TXT文档中读取随机数,那在此之前,我们需要在程序中写入随机数 import java.io.File; import java.i ...
- Java课程课后作业190315之最大连续子数组(二维数组版)
,, 在本周的课堂上,老师再一次提高了要求,将一维数组升级成为了二维数组,然后求出块状的连续子数组. 一开始还想着借鉴之前球一维数组的O(n)的算法,后来还是没有找到头绪,舍友讲了自己的办法,但是没有 ...
- Java课程课后作业190309之连续最大子数组
老师在课堂是提出了这个问题,并且提出了时间复杂度是O(n)的要求,一开始我自己思想简单,在逻辑上出现了十分粗心的错误,后来同学们也在课堂上比较激烈地讨论了一番,也只是将时间复杂度降到了O(n*n),在 ...
- JAVA课程课后作业03之作业一
作业:使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”. 代码: package TestJava; import java ...
- JAVA课程课后作业之使用递归完成回文
一.思路 1.我的想法是利用数组的做法来进行,先是用scanner录入一个String类 2.然后就是将String转化成char数组 3.递归的就是第一个和最后一个对比,然后第一个加一,最后一个减一 ...
- Java数组课后习题
package javafirst; import java.util.Arrays; class Show{ public void showArray(int[] arr){ for(int i ...
- ppt 数组课后作业
任务要求:随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 设计思路:建一个数组,在for语句中将随机数存入数组中,然后每生成一个数就进行相加, ...
随机推荐
- IOS - 本地数据持久化
转:相对复杂的App仅靠内存的数据肯定无法满足,数据写磁盘作持久化存储是几乎每个客户端软件都需要做的.简单如“是否第一次打开”的BOOL值,大 到游戏的进度和状态等数据,都需要进行本地持久化存储.这些 ...
- IOS-Gesture(手势识别)
手势识别——Gesture Recognizer •iOS3.2版本之后,苹果推出了手势识别(Gesture Recognizer),其目的是: –简化开发者的开发难度 –统一用户体验 • •iOS目 ...
- qt编译mysql插件
安装MySQL,C:\Program Files (x86)\MySQL\MySQL Server 5.7,然后把include和lib文件夹拷贝到C盘,因为qmake不允许路径中有空格!!! 安装Q ...
- [Android] 解析android framework下利用app_process来调用java写的命令及示例
reference to :http://bbs.9ria.com/thread-253058-1-1.html 在android SDK的framework/base/cmds目录下了,有不少目录, ...
- main方法并发测试
public static void main(String[] args) throws Exception{ RequestModel r = new RequestModel(); r.setT ...
- 用Mysqlbinlog备份BinLog文件
默认情况下, mysqlbinlog读取二进制文件[BinLog]并以文本的方式呈现[text format].mysqlbinlog可以直接地从本地读取Log,也可以读取远程的Log[--read- ...
- 隐藏<input type="file"> 实现点击div或图片打开文件选择路径
HTML: <input type="file" style="display:none" id="addfile-btn"> ...
- XMPP框架下微信项目总结(2)授权登陆/注销/注册/打印日志
xmpp授权登陆步骤1 初始化xmppstream 连接服务器 传递属性jid(IP地址 端口号)2 连接成功后 传递“登”陆密码授权 3 授权后,发送在线消息xmpp所有的代理都是子线程中调用的,处 ...
- *** Assertion failure in -[UIApplication _runWithMainScene:transitionContext iOS9.1闪退问题解决
错误原因在于 AppDelegate 中 didFinishLaunchingWithOptions 结束前 未定义 rootViewController,Xcode7规定必须要有rootViewCo ...
- zip 压缩文件 unzip查看zip压缩包内的内容
[root@GitLab tmp]# zip -r new.zip ./* adding: gitlab_key_file20161001-2668-1eu44mv (deflated 15%) ...