java作业5
(一)用你的大数类实现加和减两个功能(乘除阶乘未实现)
import java.util.Scanner;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
public static int[] add(int[] a, int[] b) {
int digit = 0;
int[] c = new int[a.length];
for (int i = a.length - 1; i >= 0; i--) {
c[i] = a[i] + b[i] + digit;
if (c[i] < 10)
digit = 0;
else {
c[i] = c[i] - 10;
digit = 1;
}
}
return c;
}
public static int[] sub(int[] a, int[] b, int w) {
int digit = 0;
int[] c = new int[a.length];
for (int i = a.length - 1; i >= 0; i--) {
if (w <= 0) {
c[i] = b[i] - a[i] - digit;
if (c[i] >= 0)
digit = 0;
else {
c[i] = c[i] + 10;
digit = 1;
}
} else {
c[i] = a[i] - b[i] - digit;
if (c[i] >= 0)
digit = 0;
else {
c[i] = c[i] + 10;
digit = 1;
}
}
}
return c;
}
public static void main(String[] args) {
int a[] = new int[50];
int b[] = new int[50];
int m = 0;
int n = 0;
int s = 0;
int t = 0;
int w = 0;
Scanner reader=new Scanner(System.in);
System.out.print("请输入大数X:");
String X = reader.nextLine();
System.out.print("请输入大数Y:");
String Y = reader.nextLine();
m = a.length - X.length();
n = b.length - Y.length();
// 判断两个大数的大小
if (X.length() > Y.length())
w = 1;
else if (X.length() < Y.length())
w = -1;
else
w = X.compareTo(Y);
// 转化为数组
for (int i = 0; i < X.length(); i++) {
a[m++] = X.charAt(i) - 48;
}
for (int j = 0; j < Y.length(); j++) {
b[n++] = Y.charAt(j) - 48;
}
// 加法运算
int[] c = Test.add(a, b);
// 截取前面多余的0
for (int k = 0; k < c.length; k++) {
if (c[k] > 0) {
s = k;
break;
}
}
// 输出大数相加的结果
System.out.print("大数相加的结果为:");
for (int i = s; i < c.length; i++) {
System.out.print(c[i]);
}
// 减法运算
int[] d = Test.sub(a, b, w);
for (int k = 0; k < d.length; k++) {
if (d[k] > 0) {
t = k;
break;
}
}
System.out.print("\n");
System.out.print("大数相减的结果为:");
if (w < 0)
System.out.print("-");
for (int i = t; i < d.length; i++) {
System.out.print(d[i]);
}
}
}
(二)随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中。
设计思路: 定义一个长度为10的数组,定义一个空字符串,让计算机随机产生十个数填充到数组中,将数组赋值给空字符串,取出数组中每个元素并求和,将和与数组在对话框中输出。
程序流程图:

源程序代码:
//数组求和 Jin Peigang 2015/10/28
import javax.swing.*;
public class Sum {
public static void main(String[]args){
int a[]=new int[10]; //创建一个数组a[10]并定义它的长度是10
int sum=0;
String output=" "; //定义一个字符串
for(int i=0;i<a.length;i++) //用计算机产生的十个数填充数组a[10]
{ a[i]=(int)(Math.random()*100+1);
output+=a[i]+" ";} //将数组赋值给字符串
output="a[10]={"+output+"}";
for(int i=0;i<a.length;i++) //取出数组元素求和
{sum+=a[i];}
output=output+"\n"+"sum:"+" "+sum;
JOptionPane.showMessageDialog(null,output,"数组求和", //对话框输出结果
JOptionPane.INFORMATION_MESSAGE);
}
}
结果截图:

问题:
Math.random()不规定范围能否随机产生十个数
java作业5的更多相关文章
- 第五次Java作业
作业一: 文件显示列表框. 增加了下拉式组合框,text区域设置颜色为红色. import javax.swing.*; import java.awt.*; import java.io.File; ...
- Java作业:第四次过程性考核 ——长春职业技术学院 16级网络工程
Java作业:第四次过程性考核 码云链接:https://gitee.com/SoridoD/java_kaohe4 (时间匆忙没打注释,真有急事) (客户端和服务器会自动创建表,所以没有sql ...
- Java作业:第一次过程性考核 ——长春职业技术学院 16级网络工程
Java作业:第一次过程性考核 ••<结构化程序设计>•• 考核目标:初步了解Java基本语法规则,学习结构化程序设计思想. 码云链接:https://gitee.com/SoridoD/ ...
- 初识Java作业
初识Java作业 一. 填空题 Java技术按照用途不同分为三大版本,分别是JavaSE. javaEE 和JavaMe Java虚拟机就是一个虚拟的用于执行 .class ...
- JAVA作业—字符串操作
------------恢复内容开始------------ ------------恢复内容开始------------ ------------恢复内容开始------------ ------- ...
- JAVA作业02
一, 课堂练习 (一)构造方法 1,源代码 public class Test{ public static void main(String[] args){ Foo obj1=new F ...
- java作业4
(一) 请查看String.equals()方法的实现代码,注意学习其实现方法.(发表到博客作业上) (二) 整理String类的Length().charAt(). getChars().rep ...
- Java作业代写
作业一 试用java编写一个九九乘法表并打印. 作业二: 设计两个人类与书类,并设置两者的关系,试用人去找书,书去找人,假如某人有一个儿子,它也有一本书,试用儿子去找书,书找儿子. 大作业 熟悉QQ农 ...
- java作业—3
动手动脑: 一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. 方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例:(int)(1+Math.r ...
- Java作业-网络编程
Java网络编程 关于结合以前的大作业(即我的图书馆管理系统) 我感觉,图书馆管理系统更像是一个偏向于B/S模式的体系,如果想让他可用性变得更好,可以优化的地方只有使用数据库来代替文件,我个人是没有想 ...
随机推荐
- css解决方案经验杂记
文本垂直居中 单行文本:line-height的值等于height: 多行文本:padding上下值一致即可: 还可以使用position:absolute进行绝对定位,如果是相对父级元素,则需要设置 ...
- python中函数使用
1.关于函数的调用,简单小例子: >>> def fun(): print(test) >>> test='ni hao ma ?'>>> fu ...
- Quoted-printable 编码介绍、编码解码转换
求教,“=B9=A4=D7=F7=BC=F2=B1=A8” 这种是什么编码方式? Quoted-printable 可译为“可打印字符引用编码”.“使用可打印字符的编码”,我们收邮件,查看信件原始信息 ...
- F-Dining Cows(POJ 3671)
Dining Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7584 Accepted: 3201 Descr ...
- JDE函数--获取当前登录人的描述
业务描述:当前登录人ID为数字,中文姓名保存在描述1字段中 方式: 根据系统变量获取用户的地址号,根据TableIO获取用户描述1.如下图所示: 由于使用AN8时,变量类型不一致,所以使用函数将cha ...
- input[type=text]点击之后无边框, 一进页面就显示光标
1.input[type=text]点击之后无边框 :outline:none; 2. 一进页面就显示光标: <script Language="javascript"> ...
- Spark(3) - External Data Source
Introduction Spark provides a unified runtime for big data. HDFS, which is Hadoop's filesystem, is t ...
- 经典DP 二维换一维
HDU 1024 Max Sum Plus Plus // dp[i][j] = max(dp[i][j-1], dp[i-1][t]) + num[j] // pre[j-1] 存放dp[i-1] ...
- Swift - 自动布局库SnapKit的使用详解3(约束优先级,约束做动画)
1,约束优先级我们使用SnapKit的时候,还可以定义约束的优先级.这样当约束出现冲突的时候,优先级高的约束覆盖优先级低的约束.具体优先级可以放在约束链的结束处. (1)可以设置如下几种优先级 pri ...
- 判断IE8
var browser=navigator.appName; var panduan_hide='style="display:none;"'; if(browser= ...