(一)用你的大数类实现加和减两个功能(乘除阶乘未实现)

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的更多相关文章

  1. 第五次Java作业

    作业一: 文件显示列表框. 增加了下拉式组合框,text区域设置颜色为红色. import javax.swing.*; import java.awt.*; import java.io.File; ...

  2. Java作业:第四次过程性考核 ——长春职业技术学院 16级网络工程

    Java作业:第四次过程性考核 码云链接:https://gitee.com/SoridoD/java_kaohe4    (时间匆忙没打注释,真有急事) (客户端和服务器会自动创建表,所以没有sql ...

  3. Java作业:第一次过程性考核 ——长春职业技术学院 16级网络工程

    Java作业:第一次过程性考核 ••<结构化程序设计>•• 考核目标:初步了解Java基本语法规则,学习结构化程序设计思想. 码云链接:https://gitee.com/SoridoD/ ...

  4. 初识Java作业

    初识Java作业 一.    填空题 Java技术按照用途不同分为三大版本,分别是JavaSE.     javaEE       和JavaMe Java虚拟机就是一个虚拟的用于执行  .class ...

  5. JAVA作业—字符串操作

    ------------恢复内容开始------------ ------------恢复内容开始------------ ------------恢复内容开始------------ ------- ...

  6. JAVA作业02

    一,      课堂练习 (一)构造方法 1,源代码 public class Test{ public static void main(String[] args){ Foo obj1=new F ...

  7. java作业4

    (一)  请查看String.equals()方法的实现代码,注意学习其实现方法.(发表到博客作业上) (二)  整理String类的Length().charAt(). getChars().rep ...

  8. Java作业代写

    作业一 试用java编写一个九九乘法表并打印. 作业二: 设计两个人类与书类,并设置两者的关系,试用人去找书,书去找人,假如某人有一个儿子,它也有一本书,试用儿子去找书,书找儿子. 大作业 熟悉QQ农 ...

  9. java作业—3

    动手动脑: 一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. 方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例:(int)(1+Math.r ...

  10. Java作业-网络编程

    Java网络编程 关于结合以前的大作业(即我的图书馆管理系统) 我感觉,图书馆管理系统更像是一个偏向于B/S模式的体系,如果想让他可用性变得更好,可以优化的地方只有使用数据库来代替文件,我个人是没有想 ...

随机推荐

  1. cf--------(div1)1A. Theatre Square

    A. Theatre Square time limit per test 2 seconds memory limit per test 64 megabytes input standard in ...

  2. Excepion

    异常:就是程序在运行时出现不正常的情况. 异常由来:问题也就是现实生活中一个具体的食物,也可以通过java的类的形式进行秒速.并封装成对象.其实就是java对不正常情况进行毛素后的对象体现. 对于问题 ...

  3. Huffman树与编码的简单实现

    好久没写代码了,这个是一个朋友问的要C实现,由于不会C,就用JAVA写了个简单的.注释掉的代码属性按照原来朋友发的题里带的参数,发现没什么用就给注释掉了. package other; import ...

  4. BZOJ1520 [POI2006]Szk-Schools

    裸的费用流啊... 建图:对于一个点p拆成两个p1和p2,S向p1连边,流量为1,费用为0:p2向T连边流量为1,费用为0 然后i1向a2到b2分别连边,不妨设i1向p2连边,流量为1,费用为|i - ...

  5. 盘点:崛起中的九大HTML5开发工具

    HTML5被看做是Web开发者创建流行Web应用的利器,增加了对视频和Canvas 2D的支持.HTML5的诞生还让人们重新审视浏览器专用多媒体插件的未来,如Adobe的Flash和微软的Silver ...

  6. HDU 5763 Another Meaning

    HDU 5763 Another Meaning 题意:一个字串有可能在模式串出现多次,问有多少种可能出现的情况.关键是有重合的字串是不能同时计入的. 思路:先用kmp求出所有字串的位置.然后,dp. ...

  7. redhat enterprixe 5.0 web 服务配置与管理

    一.Web服务及工作原理 Web服务的实现采用客户/服务器模型.客户机运行Web客户程序(浏览器),作用是解释和显示Web页面,相应用户的输入请求,并且通过http协议将用户请求传递给Web服务器.W ...

  8. GUID vs INT Debate【转】

    http://blogs.msdn.com/b/sqlserverfaq/archive/2010/05/27/guid-vs-int-debate.aspx I recently read a bl ...

  9. 目前几款基于html5的前端框架:如Bootstrap、Foundation、Semantic UI 、Amaze UI

    Bootstrap是由Twitter在2011年8月推出的开源WEB前端框架,集合CSS 和HTML,使用了最新的浏览器技术,为快速WEB开发提供了一套前端工具包,包括布局.网格.表格.按钮.表单.导 ...

  10. java反射之Constructor简单应用

    Constructor类是java反射中重要的类,它是对类中构造器的描述的类.类似于Method(对类中方法的描述的类),Field(对类中属性的描述的类). 通过创建Constructor的对象实例 ...