当前位置:文档之家› JAVA编程 使用SOCKET和多线程实现整数加法服务器

JAVA编程 使用SOCKET和多线程实现整数加法服务器

JAVA编程 使用SOCKET和多线程实现整数加法服务器
JAVA编程 使用SOCKET和多线程实现整数加法服务器

Java大数

BigInteger 类 import java.math.BigInteger; import java.util.Random; //表示整数 函数: System.out.println("构造两个BigInteger对象: "); //BigInteger(int numBits, Random rnd) //构造一个随机生成的BigInteger,它是在0 到(2^numBits - 1)(包括)范围内均匀分布的值 BigInteger bi1 = new BigInteger(55,new Random()); System.out.println("bi1 = " + bi1); //BigInteger(byte[] val) //将包含BigInteger 的二进制补码表示形式的byte 数组转换为BigInteger。 BigInteger bi2 = new BigInteger(new byte[]{3,2,3}); System.out.println("bi2 = " + bi2); //加 System.out.println("bi1 + bi2 = " + bi1.add(bi2)); //减 System.out.println("bi1 - bi2 = " + bi1.subtract(bi2)); //乘 System.out.println("bi1 * bi2 = " + bi1.multiply(bi2)); //指数运算 System.out.println("bi1的2次方= " + bi1.pow(2)); //整数商 System.out.println("bi1/bi2的整数商: " + bi1.divide(bi2)); //余数 System.out.println("bi1/bi2的余数: " + bi1.remainder(bi2)); //整数商+余数 System.out.println("bi1 / bi2 = " + bi1.divideAndRemainder(bi2)[0] + "--" + bi1.divideAndRemainder(bi2)[1]); System.out.println("bi1 + bi2 = " + bi1.add(bi2)); //比较大小,也可以用max()和min() if(https://www.doczj.com/doc/191812821.html,pareTo(bi2) > 0) System.out.println("bd1 is greater than bd2"); else if(https://www.doczj.com/doc/191812821.html,pareTo(bi2) == 0) System.out.println("bd1 is equal to bd2"); else if(https://www.doczj.com/doc/191812821.html,pareTo(bi2) < 0) System.out.println("bd1 is lower than bd2"); //返回相反数 BigInteger bi3 = bi1.negate(); System.out.println("bi1的相反数: " + bi3); //返回绝对值 System.out.println("bi1的绝对值: " + bi3.abs());

java求n个整数的最大公约数

实验报告三JA VA程序设计基础 1.实验目的 熟练运用分支、循环等语句控制程序流程,掌握方法的声明和调用,以及字符串。掌握使用命令行参数作为输入数据的方法,找出程序错误位置和出错原因。 2.实验内容 ():书上60页,2-26求N个整数的最大公约数。 代码: Gys.java——文件名 public class Gys { public static int gys(int a,int b) { int temp; while(b!=0) { temp=a%b; a=b; b=temp; System.out.print("gys("+a+","+b+")=");——输出运算过程 } System.out.println(a);——输出最大公约数 return a; } public static void main(String[] args) { int n=5,x,y,temp; int a[]={12,60,160,64,80}; temp=a[0]; for(int i=0;i

(2)验证性实验:书上P54例2.10从标准输入流中读取一行字符串再转换成整数。 代码: Input.java——文件名 import mypackage.*; public class Input { public static String readLine()throws java.io.IOException { System.out.println("输入一行字符串,以回车换行符结束"); byte buffer[]=new byte[512]; int count=System.in.read(buffer); System.in.close(); return(count==-1)?null:new String(buffer,0,count-2); } public static void main(String args[])throws java.io.IOException { String s=readLine(); int value=MyInteger.parseInt(s); System.out.println("MyInteger.toString("+value+",2)="+MyInteger.t oString(value,2)); System.out.println("MyInteger.toString("+value+",16)="+MyInteger. toString(value,16)); } } MyInteger.java——文件名 package mypackage; public class MyInteger { public static int parseInt(String s) throws NumberFormatException { if(s==null) throw new NumberFormatException("null"); char ch=s.charAt(0);

非常经典的JAVA编程题全集(50题及答案)

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {

java大整数包课程设计、各种运算

import java.util.*; public class BigNum { public static void main(String[] args){ String s,s1=null,s2=null; Scanner cin = new Scanner(System.in); char op; System.out.println("请输入第一个大整数,并按回车结束:"); if(cin.hasNext()) { s1 = cin.next(); } System.out.println("请输入要进行的运算的运算符,并按回车结束:"); s = cin.next(); op = s.charAt(0); System.out.println("请输入第二个大整数,并按回车结束:"); if(cin.hasNext()) { s2 = cin.next(); } if(op=='+') { System.out.println("最终结果为:"); System.out.println(add(s1,s2)); } if(op=='-') { System.out.println("最终结果为:"); System.out.println(jianfa(s1,s2)); } if(op=='*') { System.out.println("最终结果为:"); System.out.println(chengfa(s1,s2)); } if(op=='/') { System.out.println("最终结果为:"); System.out.println(chufa(s1,s2)); } if(op=='%') { System.out.println("最终结果为:"); System.out.println(quyu(s1,s2)); } if(op=='M') { String s3 = null;

Java中常见的几种运算符

Java中常见的几种运算符 第一:算术运算符:{+、-、*、/、%取余或是取模、++与--递增和递减。} 需要注意的几个地方:在进行除法运行时当两个整数相除时结果为整数,若除以一个整数除不尽时,这是就会返回整数部分,小数部分则将省略,这时就要涉及到浮点型数据了!递增和递减应注意的是:++或—写在变量前面,则该式子的值等于变量变化以前的值。2)++或—写在变量后面,则该式子的值等于变量变化以后的值。 第二:关系运算符:{==等于若两个值相等,返回一个真值、!=不等于、<小于、>大于、<=小于等于、>=大于等于}主要用于根据某个变量的值来执行特定的操作,并且返回一个布尔值,一般形式为:做操作数关系运算符右操作数! 第三:位运算符:{“&”代表与运算符两个条件都成立才算成立;“︳”代表或运算符,满足其中一个即可成立,对应的二进制位有一个为1 则为1,否则为0;“?”代表异或运算符,对应的二进制位相同为零,不相同为1}

第四:逻辑运算符:{“&&”代表与逻辑运算符两个条件都成立算成立,“︳︳”代表或逻辑运算符,满足其中一个条件即可,他们的结果都是boolean类型的ture或false} 第五:移位运算符:{“<<”代表向左移多少位;“>>”代表向又移多少位;“>>>”又移补零} 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。 语法格式:需要移位的数字<<(>>)移位的次数 在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2 的1 次方,左移n 位就相当于乘以2 的n 次方;右移n 位相当于除以2 的n 次方。如:b<<8相当于b*16;b>>8相当于b/16. 第六:三元运算符{语法格式:(布尔表达式)?(真值):(假植)}如果布尔表达式的条件为真那么执行的条件位真值,否则反之。【a=a+5等于a+=5】 第七:运算符的优先级: 1 () [] . 从左到右 2 ! +(正) -(负) ~ ++ -- 从右向左 3 * / % 从左向右 4 +(加) -(减) 从左向右 5 << >> >>> 从左向右

java基本数据类型练习题

1 . 用8位无符号二进制数能表示的最大十进制数为 ( C ) A. 127 B. 128 C. 255 D. 256 2 .以下能作为char类型的字面值的有( B ) A. "e" B. 'f' C. '\u12' D. '\u0012' E. '\n' 3 . byte变量的取值范围是( B ) A. 0~65535 B. -128~127 C. -256-255 D. 0~32767 4. 以下选项中正确的有(AC ) A. int i = 32; B. float f = 45.32; C. double d=3.2; D. double d=9.21D; 5 .假定x和y为double型,则表达式x=2,y=x+3/2的值是( D ) A. 3.5 B. 3 C. 2.0 D. 3.0 6 .下列对于>>和>>>操作符描述正确的是( ) A.当左面的操作数是正数时,>>和>>>结果相同。 B. B. (-1 >> 1)的结果是0。 C. C. (-1 >>> 1) 的结果是-1。 D. 只有在右面的操作数大于等于1时, >>> 才会返回负数。 7 .有如下一段代码: 1)public class ReturnIt{ 2) returnType methodA(byte x, double y){ 3) return x/y*2; 4) } 5) } 在第2行中,方法methodA的有效返回类型returnType应该是?(D) A. int B. byte C. short D. double 8. 下列代码的执行结果是( D ) 1)public class Beirun{ 2) public static void main(String args[]){ 3) float t=9.0f; 4) int q=5; 5) System.out.println((t++)*(--q)); 6) } 7)} A. 40 B. 40.0 C. 36 D. 36.0 9.下列代码的执行结果是( D ) 1)public class Beirun{ 2) public static void main(String args[]){ 3) System.out.println(5/2); 4) } 5)} A. 2.5 B. 2.0 C. 2.50 D. 2 10. 下列代码的执行结果是( B ) 1)public class Beirun{ 2) public static void main(String args[]){

JAVA大整数加减乘除源代码完全个人编写

import java.util.Scanner; public class Jianfajiafa{ static String res1="";//减法结果值 static String res2="";//加法结果值 static String res3="";//除法结果值 static String sign = ""; //多个方法共同使用一个符号位,要注意符号位的初始值 public static void jian(String num1,String num2){ if(num1.equals(num2)){ System.out.println("0"); } //判断num2,num1第一位是不是负号,若有负号需要另作处理 if(num2.charAt(0)!='-'&&num1.charAt(0)!='-'||num2.charAt(0)=='-'&&num1.charAt(0)=='-') { if(num1.charAt(0)=='-'){ num1=num1.substring(1);//将负号去除 num2=num2.substring(1);//将负号去除 //符号位的判断 if(num1.length() == num2.length()){ if(https://www.doczj.com/doc/191812821.html,pareTo(num2) < 0) sign=""; else sign="-"; } else if(num1.length()>num2.length()){ sign="-"; }else{ sign=""; } if(num1.length() < num2.length() || (num1.length() == num2.length() && https://www.doczj.com/doc/191812821.html,pareTo(num2) < 0)){ String tmp = num1; num1 = num2; num2 = tmp; } } else{ //处理长度num1

Java大作业--计算器

J a v a大作业--计算器-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

JAVA大作业 简易计算器 课程名称: Java开发技术 教学班级: B02班 学院:信息管理学院 2013~2014学年第1学期 (第 1 册共 1 册) 目录 1 引言 (4) 1.1 开发背景 (4)

1.2 项目目标 (4) 1.4 计算器的基本情况 (4) 2技术支持 (5) 2.1 Applet概述 (5) 3系统设计及实现 (5) 3.1 系统功能实现 (5) 3.2 系统界面设计 (6) 3.3 系统函数功能说明 (6) 4 计算器的测试 (6) 4.1 测试“输入”功能 (6) 4.2 测试“输出结果”功能 (8) 4.3 测试“清零功能”功能 (8) 5 分析与总结 (9) 5.1 个人总结 (9)

1 引言 1.1 开发背景 电脑已经深入到日常生活和工作的方方面面,例如文字办公、信息管理、图像处理、游戏娱乐等,尤其是游戏。电脑游戏行业经过二十年的发展,已经成为与影视、音乐等并驾齐驱的全球最重要的娱乐产业之一,其年销售额超过好莱坞的全年收入。Java 语言作为一种面向对象的编程语言,具有分布式、可移植性、高性能、多线程等特点。对于一名学生来说,在系统的学习了Java后,面对这次的大作业,正好将学过的Java 语言中的各种技术综合起来编写小程序。即对自己学过的技能进行一次检验,也能系统的将学过的知识复习巩固。 1.2 项目目标 开发一个计算器小程序,具有整数和小数的加减乘除功能,数据记忆清除功能。1.3开发环境 Eclipse3.5 Java集成开发环境 1.4 计算器的基本情况 最早的计算工具诞生在中国。中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的.约二百七十枚一束,放在布袋里可随身携带。直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。 17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。 1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是只能做加减计算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直要到20世纪50年代末才有电子计算器的出现。

用面向对象方法设计实现整数的四则运算(java)

用面向对象方法设计实现整数的四则运算,并编写主程序演示该类用法。(要求:用继承或接口实现) import java.math.BigDecimal; public class OperationImpl implements Operation{ private double changeFormat(double num){ //改变格式 return new BigDecimal(num).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); } public double add(double num1, double num2) { return changeFormat(num1+num2); } public double cut(double num1, double num2) { return changeFormat(num1-num2); } public double multiply(double num1, double num2) { return changeFormat(num1*num2); } public double divide(double num1, double num2) { if((int)num2==0){ System.out.println("除数不能为0"); return -1.11111; } return changeFormat(num1/num2); } public static void main(String[] args) { OperationImpl operate = new OperationImpl(); System.out.println(operate.add(1, 1)); System.out.println(operate.cut(1, 1)); System.out.println(operate.multiply(1, 2)); System.out.println(operate.divide(1, 0)); } } interface Operation{ double add(double num1,double num2); double cut(double num1,double num2); double multiply(double num1,double num2); double divide(double num1,double num2); }

Java的位运算符详解整理得比较全

Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^) 位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符 与运算符用符号“&”表示,其使用规律如下: 两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。 public class data13 { public static void main(String[] args) { int a=129; int b=128; System.out.println("a 和b 与的结果是:"+(a&b)); } } 运行结果 a 和 b 与的结果是:128 下面分析这个程序: “a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。 2.或运算符 或运算符用符号“|”表示,其运算规律如下: 两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。

public class data14 { public static void main(String[] args) { int a=129; int b=128; System.out.println("a 和b 或的结果是:"+(a|b)); } } 运行结果 a 和 b 或的结果是:129 下面分析这个程序段: a 的值是129,转换成二进制就是10000001,而 b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。 3.非运算符 非运算符用符号“~”表示,其运算规律如下: 如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。 public class data15 { public static void main(String[] args) { int a=2; System.out.println("a 非的结果是:"+(~a)); } } 4.异或运算符 异或运算符是用符号“^”表示的,其运算规律是:

常用的java数值计算方法

常用Java数值计算方法 在Java系统提供的Math类中包含了一些数值常量,如E和PI,以及一些的数值计算方法,如求指数、求对数、开平方根和求三角方法等,这为用户进行数值计算带来了方便。 在表4-4中列出一些常用的数值计算方法,未列出部分请参考Java的帮助文件。 方法功能参数类型返回类型 abs(x)求x的绝对值** sin(x)求x(弧度)的正弦值double double cos(x)求x(弧度)的余弦值double double tan(x)求x(弧度)的正切值double double asin(x)求x的反正弦值double double acos(x)求x的反余弦值double double atan(x)求x的反正切值double double ceil(x)求不小于x的最小整数double double floor(x)求不大于x的最大整数double double pow(x,y)求x的y次方double double random()产生0.0---0.999999 double double 的伪随机数 sqrt(x)求x的平方根double double log(x)求x的自然对数double double max(x,y)求x,y中的大者** min(x,y)求x,y中的小者** 常用的数值计算方法 Math类中常量和方法的使用。 1class UseMath 2{ 3public static void main(String args[]) 4{

5double a=6.0,b=8.0; 6double c=Math.sqrt(a*a+b*b); 7System.out.println("直角三角形直角边为6.0和8.0时的斜边长为:"+c); 8System.out.println("-5和-9的较大者是:"+Math.max(-5,-9)); 9System.out.println("-100的绝对值是:"+Math.abs(-100)); 10System.out.println("不小于13.4的最小整数是:"+Math.ceil(13.4)); 11System.out.println("不大于13.4的最大整数是:"+Math.floor(13.4)); 12System.out.println("sin30度的值是:"+Math.sin(30.0/180*Math.PI)); 13a=a/2; 14System.out.println("半径为3.0的圆面积是:"+Math.PI*a*a); 15System.out.println("输出随机的四位数是:"+(int)(Math.random()*9000+1000)); 16} 17}

java运算符大全

一、算术运算符: 单目:+(取正)-(取负) ++(自增1) - -(自减1) 双目:+ - * / %(取余) 三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是">""<""!="等等),一个"?",一个":",冒号前后需要有两个表达式或者是值或者是对象。 二、关系运算: 等于符号:==,不等于符号:!= ,大于符号:>, 小于符号:<,大于等于符号:>= ,小于等于符号:<= . 三、位运算符逻辑运算符: 位运算符与(&)、非(~)、或(|)、异或(^)&:当两边操作数的位同时为1时,结果为1,否则为0.如1100&1010=1000 | :当两边操作数的位有一边为1时,结果为0,否则为 1.如1100|1010=1110 ~:0变1,1变0 ^:两边的位不同时,结果为1,否则为0.如1100^1010=0110 逻辑运算符与(&&)、非(!)、或(||) 四、赋值运算符 = += -= *= /= %= &= ^= |= 《= 》= 五、instanceof运算符 该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类创建的对象时,该运算符运算结果是true,否则是false. 六、运算符综述 Java 的表达式就是用运算符连接起来的符合Java 规则的式子。运算符的优先级决定了表达式中运算执行的先后顺序。例如,x 运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3 相当于(8-5)+3.逻辑否运算符的结合性是右到左,x 相当于!(!x)。表3.4是Java 所有运算符的优先级和结合性。 七位移运算符 《带符号左移》带符号右移>>>无号右移 例子:int a1 = 8; // 0000 0000 0000 1000 System.out.println(a1>>>2); //// 0000 0000 0000 0010 输出为2 运算符优先级 按优先级从高到低排列如下:[ ]、( )、++、--、!、~、instanceof、*、/、%、+、-、《、》、>>>、<>、<、=、>、\、==、!=、&、^、&&、||、? :、= . Java强制类型转换 强制和转换 Java语言和解释器限制使用强制和转换,以防止出错导致系统崩溃。整数和浮点数运算符间可以来回强制转换,但整数不能强制转换成数组或对象。对象不能被强制为基本类型。Java中整数运算符在整数运算时,如果操作数是long类型,则运算结果是long类型,否则为int类型,绝不会是byte,short或char型。这样,如果变量i被声明为short或byte,i+1的结果会是int.如果结果超过该类型的取值范围,则按该类型的最大值取模。 运算符操作 一、运算符"+",如果必要则自动把操作数转换为String型。如果操作数是一个对象,它可定义一个方法toString()返回该对象的String方式,例如floata=1.0print("Thevalueofais"+a+"\n");+运算符用到的例子Strings="a="+a;+=运算符也可以用于String.注意,左边(下例中的s1)仅求值一次。s1+=a;//s1=s1+a//若a非String型,自动转换

Java中使用BigDecimal进行浮点数精确计算、超大整数、浮点数等计算,没有数位限制

(注:前面写了一个超大整数相加的类,参见:超大整数相加,超过了long的范围,你要怎么做!,后来有朋友评论说BigDecimal可以完全实现我的这这个功能,刚开始的时候,我还不服气,据我所知那里有这样的类哦,后来报着说服他的心理去找了一下,呵呵,结果居然自己被说服了,确实有这么一回事,利用BigDecimal操作超大整数一样,也是先把要操作的数据转换为字符串型。使用BigDecimal可以进行高精度的工程运算,就不会计算中的精度发愁了,感谢原作者。) 转自:https://www.doczj.com/doc/191812821.html,/51976.shtml Java 浮点数精确计算BigDecimal的用法 java.math.BigDecimal的用法? Java 浮点数精确计算 如果我们编译运行下面这个程序会看到什么? public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.println(123.3/100); } }; 你没有看错!结果确实是 0.060000000000000005 0.5800000000000001

401.49999999999994 1.2329999999999999 Java中的简单浮点数类型float和double不能够进行运算。不光是Java,在其它很多编程语言中也有这样的问题。在大多数情况下,计算的结果是准确的,但是多试几次(可以做一个循环)就可以试出类似上面的错误。现在终于理解为什么要有BCD码了。 这个问题相当严重,如果你有9.999999999999元,你的计算机是不会认为你可以购买10元的商品的。 在有的编程语言中提供了专门的货币类型来处理这种情况,但是Java没有。现在让我们看看如何解决这个问题。 四舍五入 我们的第一个反应是做四舍五入。Math类中的round方法不能设置保留几位小数,我们只能象这样(保留两位): public double round(double value){ return Math.round(value*100)/100.0; } 非常不幸,上面的代码并不能正常工作,给这个方法传入4.015它将返回4.01而不是4.02,如我们在上面看到的 4.015*100=401.49999999999994 因此如果我们要做到精确的四舍五入,不能利用简单类型做任何运算 java.text.DecimalFormat也不能解决这个问题: System.out.println(new java.text.DecimalFormat("0.00").format(4.025)); 输出是4.02 BigDecimal

Java编程计算面积周长,1!+2!+3!+...+20!小于=9999最大整数的程序

package qq; //计算周长,面积 public class qq { public float x=20.0f; public float y=0.0f; public float getArea(){ float area =x*y; return area; } public float getCircumference(float x,float y){ float circumference =2*(x+y); return circumference; } public static void main(String[] args){ qq rect=new qq(); rect.y=10; float y=20; float area=rect.getArea(); System.out.println("矩形的面积是:"+area); float circumference=rect.getCircumference(rect.x,y); System.out.println("矩形的周长:"+circumference); }

} //1!+2!+3!+...+20!<=9999最大整数 public class E { public static void main (String args[]){ int i;float sum=0; for(i=1;i<=999;i++) { int a=1,z=1; while(a<=i){ z=z*a; a++; } sum=sum+z; if(sum>9999){ i--; System.out.println("1!+2!+3!+...+n!<=9999的最大整数是"+i); break; }

JAVA编程题全集(100题及答案)

Java程序设计总复习题 1、编写一个Java程序在屏幕上输出“你好!”。(p13,例1-1) 编写一个Java程序,用if-else语句判断某年份是否为闰年。 (1)编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型);; public class Strinput { public static void main(String args[]) { String s1,s2,ss,si,sf; int i1,i2; float f1,f2; BufferedReader strin=new BufferedReader(new InputStreamReader); try{ ("输入第一个字符串:" ); s1= (); ("输入第二个字符串:" ); s2= ();} catch(Exception e){ i1 = (s1); i2 = (s2); f1 = (s1); f2 = (s2); ss = strAdd(s1,s2); si = strAdd(i1,i2); sf = strAdd(f1,f2); ("输入的二个字符串相加结果为:"+ss ); ("输入字符串转换为整数相加结果为:"+si ); ("输入字符串转换为浮点数相加结果为:"+sf ); } String strAdd(String str1,String str2) { return str1+str2; } String strAdd(int int1,int int2) { return (int1+int2);

} String strAdd(float flt1,float flt2) { return (flt1+flt2); } } 6. 应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。(被读取的文件路径为:E:/myjava/) ; public class FISDemo { public static void main(String args[]) { byte[] buf=new byte[2056]; try{ FileInputStream fileIn=new FileInputStream("e:/myjava/"); int bytes=(buf,0,2056); String str=new String(buf,0,bytes); e){ ( ); } } 7、编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到文件中,并以相反的顺序读出显示在屏幕上。(p190,例7-2) ; public class IODemo { public static void main( String args[] ) { int data[] = {100,101,102,103,104,105}; int t; try { DataOutputStream out = new DataOutputStream (new FileOutputStream(“”)); for(int i=0;i<;i++) (data[i]); (); DataInputStream in = new DataInputStream (new FileInputStream(“”)); for(int i= ;i>= 0;i--) { t=(data[i]); ”+t);

大数加减运算

NANCHANG UNIVERSITY 课程设计报告 课程名称:计算机技术综合课程设计 题目:大数的加减运算 学院:信息工程学院系:计算机科学与技术系 专业:网络工程 班级: 1 3 1 班 学号:610321301? 学生姓名:张 时间:2016.8.29~2016.9.8

摘要 (1) 引言 (2) 问题描述 (2) 第一章分析与设计 (2) 第二章各个模块的实现方法描述 (3) 1、显示与输入模块 (3) 2、大数加减运算模块 (3) 2.1 无符号加法运算的实现——PLUS方法 (3) 2.2 无符号减法运算的实现——MINUS方法 (4) 2.3 有符号加减运算的实现——add方法和sub方法 (6) 第三章运行结果效果图 (8) 第四章实验总结 (10) 第五章附录:程序源代码 (11) 1.输入与显示模块:UI类 (11) 2. 大数运算模块:GetResult类 (15) 第六章参考文献 (21)

在数学中,数值的大小是没有上限的,但是在计算机中,由于字长的限制,计算机所能表示的范围是有限的,当我们对比较小的数进行运算时,如:1234+5678,这样的数值并没有超出计算机的表示范围,所以可以运算。但是当我们在实际的应用中进行大量的数据处理时,会发现参与运算的数往往超过计算机的基本数据类型的表示范围,这就涉到大数运算。大数运算,顾名思义,就是很大的数值的数进行一系列的运算。本文采用一个在JAVA语言下实现大数运算的一个程序为例,讲解包括了大数的加法,减法的算法及代码。 关键字:大数、运算精度、大数加减

引言 大数运算,意味着参加的值和计算结果通常是以上百位数,上千位数以及更大长度之间的整数运算。大数运算在当代社会得到了广泛运用。大数运算不仅仅运用在密码学中,保护网络信息安全,还在物理学、天文学、化学等学科的科研活动中发挥重要作用。例如大家所熟知圆周率π的值,在一般的数值计算中用到圆周率的不须要多大的精度,但在天文学计算一些星球或是星系上的体积面积时便显的误差很大了,这时π值计算的精度应该达到几百万位甚至更高,才能缩小误差,这就涉及到大数运算。 问题描述 本次课程设计的题目就是实现大数加减运算,要实现以下要求: 1、参与运算的2个大数从键盘输入; 2、输入的数据为十进制整数; 3、数的十进制位数不低于20位。 编码实现语言没有限制,所以我决定使用我比较熟悉的Java来实现。 第一章分析与设计 要实现上述大数加减运算程序,需要两个模块: 1.显示与输入模块,用来获取从键盘输入的两个大数,并显示计算结果。 2.大数加减运算模块,根据用户输入的两个大数和选中的运算类型,进行 加减运算。

相关主题
文本预览
相关文档 最新文档