JAVA实验考
- 格式:pdf
- 大小:147.73 KB
- 文档页数:7
实验8 Method的使用1.程序填空题,不要改变与输入输出有关的语句;50001输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和保留 4 位小数;s = 1 + 1/2 +....+ 1/n要求定义并调用函数factn计算n的阶乘;例:括号内是说明输入:2 repeat=22 n=210 n=10输出:public class Test50001 {public static void mainString args {int ri,repeat;int i,n;double s;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/-----------/s=0;for i=1;i<=n;i++s+=fact i;}}/---------------/static double fact int n {int i;double f=1;for i=1;i<=n;i++f=i;return f;}}50002输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aa…an个a之和;要求定义并调用函数fna,n,它的功能是返回aa…an个a;例如,fn3,2的返回值是33;例:括号内是说明输入2 repeat=22 3 a=2, n=38 5 a=8, n=5输出246 2+22+22298760 8+88+888+8888+88888imponner;public class Test50002{public static void mainString args{int ri, repeat;int i, n,a;long sn;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{a=;n=;/------------/sn=0;for i=1;i<=n;i++sn+=fn a,i;}}/------------/s tatic int fn int a,int n{int s=0;forint i=1;i<=n;i++s=s10+a;return s;}}50003输入一个正整数repeat 0<repeat<10,做repeat次下列运算:读入1 个整数,统计并输出该数中2的个数;要求定义并调用函数countdigitnumber,digit,它的功能是统计整数number中数字digit的个数;例如,countdigit10090,0的返回值是3;例:括号内是说明输入:3 repeat=3-219022345543输出:count=2 -21902中有2个2count=1 有1个2count=0 345543中没有2public class Test50003{public static void mainString args{int ri, repeat;int count;long n;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{n=;/---------/n=n;count=countdigit n,2;}}/------------/static int countdigit long number,int digit{....要求定义并调用函数fibn,它的功能是返回第n项Fibonacci数;例如,fib7的返回值是13;例:括号内是说明输入:3 repeat=31 10 m=1, n=1020 100 m=20, n=1001000 6000 m=1000, n=6000输出:1 123 5 8 1到10之间的Fibonacci数21 34 55 89 20到100之间的Fibonacci数1597 2584 4181 1000到6000之间的Fibonacci数public class Test50006{public static void mainString args{int ri,repeat;int i, m, n;long f;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{m=;n=;/---------/i=1;f=1;while f<=n{if f>=m " ";i++;f=fib i;}}}/------------/sta ti c long fib int n{ //返回第n项Fibonacci数int i;long a=1,b=1,f=1;for i=3;i<=n;i++{ //从第3项开始计算f=a+b;a=b;b=f;}return f;}}50007输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=10000,输出m 到n之间的所有完数完数就是因子和与它本身相等的数;要求定义并调用函数factorsumnumber,它的功能是返回number的因子和;例如,factorsum12的返回值是161+2+3+4+6;例:括号内是说明输入:2 repeat=220 500 m=100, n=4001 100 m=1, n=100输出:28 4961 6 28public class Test50007{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if i==factorsum i" ";}}/---------/static int factorsum int number{ //返回number的因子和int sum=0;if number==1sum=1;forint i=1;i<=number-1;i++if number%i==0sum+=i;return sum;}}50008输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=1000,输出m 到n之间的所有满足各位数字的立方和等于它本身的数;要求定义并调用函数isnumber判断number的各位数字之立方和是否等于它本身;例:括号内是说明输入:2 repeat=2100 400 m=100, n=4001 100 m=1, n=100输出:153 370 371 111+555+333=153; 333+777=370; 333+777+111=3711public class Test50008{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if is i" ";}}/---------///判断number的各位数字之立方和是否等于它本身static boolean is int number{int sum=0,n,digit;n=number;while n>0{digit=n%10;n=n/10;sum+=digitdigitdigit;}if number==sum return true;else return false;}}50009输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入一个整数,将它逆序输出;要求定义并调用函数reversenumber,它的功能是返回number的逆序数;例如reverse12345的返回值是54321;例:括号内是说明输入4 repeat=4123456 -100 -2 99输出654321-1-299public class Test50009{public static void mainString args{int ri,repeat;long n, res;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/---------/res=reverse n;}}/---------/static long reverse long number{//返回number的逆序数int flag=1;long a=0,digit;if number<0{flag=-1;number=-number;}while number>0{digit=number%10; //分离出个位数字a=a10+digit; //形成当前的逆序数number=number/10;}return flaga;}}50011输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入三个整数a、b和c,输出其中较大的数;要求定义和调用函数maxa, b, c找出a、b中较大的数,函数形参a、b和c的类型是int;输入输出示例:括号内是说明输入3 repeat=3输入:5 8 9 a=5, b=8-1 -10 -5 a=-1, b=-101 1 1 a=1, b=1输出:max5,8,9=9max-1,-10,-5=-1max1,1,1=1public class Test50011 {public static void mainString args {int ri, repeat;int a,b,c,maximun;Scanner in = new Scanner;repeat = ;for ri = 1; ri <= repeat; ri++ {a = ;b = ;c=;/-----------------/maximun=maximuna,b,c;Sy}}/-------------------/static int maximunint a,int b,int c{int max=a;ifmax<bmax=b;ifmax<cmax=c;return max;}}。
Java实验题目(1) .编写Java应用程序,定义byte、short、int、Iong、float、double、char和boolean等类型的数据并用一个输出语句输出,要求每行输出一个数据。
(2) .编写Java小应用程序,输出两行字符串:“ Jav很有趣。
”和努力学习Java编程。
”,输出的起点坐标是(20, 20),行距是50像素。
(3) .使用算术运算符得到一个4 位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。
(4) .编写Java 小应用程序,用三目条件运算符求程序中给定的4个double 数的最大值和最小值并输出结果。
实验报告题:使用算术运算符得到一个 4 位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。
1、数据类型与表达式的使用自己编写程序测试各种运算符的使用。
例如,以下程序是测试Java的数据类型:public class UseVarible {public static void main(String args [])boolean b = true;short si = 128;int i = -99;long l = 123456789L;char ch = 'J';float f = 3.1415925F;double d = -1.04E-5;String s = "你好!";System.out.println("布尔型变量b="+ b);System.out.println(” 短整型变量si="+ si);System.out.println("整型变量i="+ i);System.out.println("长整型变量匸"+ l);System.out.println("字符型变量ch="+ ch);System.out.printin("浮点型变量f="+ f);System.out.println("双精度型变量d="+ d);System.out.println("字符型对象s="+ s);2、数组的创建与使用编写并运行P.23例1-5,例1-6。
Java实验课经典题型加程序代码1.求出2-1000内的所有个位为3或7的素数,并按每行5列的格式输出。
package first_work;public class First_work {public static void main(String[J args) {int i,m;intj=O;for(i=2;i<= 1000;i++){for(m=2;m<=Math.sqrt(i);m++){if(i%m==0)break;}if(m>Math.sqrt(i)&&(i%l 0==3||i%l 0==7)){System.out.print (i+"");j++;if(j!=0&&j%5==0){System.out.println();}};}}}2.教材71页15题,增加以下内容:同时要求川选择排序、冒泡排序、插入排序实现,分别用不同的函数实现。
package first_work;public class Sort {public static void choose(int[] x) {for (int i=0; i<x.length;i++) { intlowerlndex=i; for (intj=i+l;j<x.length;j++) {if (xrjl<xflowerlndex]) {lowerlndex=j;}}int temp=xfil;x[i]=x[lowerlndex]; x[lo werlndex]=temp;}}public static void insert(int[] x){ for (int i=l;i<x.length;i++)(for(intj=i;j>0;j-){ if(x[j]<xO-l]) {int temp=xfjl;xD]=xU-l];x[j-l]=temp;}}}}public static void main(String[] args) {int[] a= {20,10,55,40,30,70,60,80,90,100};int i,j,x,T=0;for( i=l ;i<10;i++) for(j=0;j<9;j++)if(aU]〉a|J+l]){T=aU];afjl=a[j+ll;a|j+l]=T;}for(x=0;x<l 0;x++){System.out.print(f f);System.out.print(a[x]);}System.out.print(,\n,);choose(a);for(x=0;x<10;x++){System.out.print(’ •);System.out.print(a[xJ);}System.out.print(’\n’); inserl(a);for(x=0;x<10;x++){System.out.print(");System.out.print(a[x]);}}}3.实现一个三行三列的矩阵和它的转置相加。
第二章Java语法基础【实验目的】(1) 常量、变量与数据类型a. 掌握Java的常量、变量声明及使用方法b. 掌握Java各种数据类型的使用c. 掌握基本的输入输出函数(2) 运算符与表达式a. 掌握算术运算、关系运算、逻辑运算,及优先关系b. 掌握表达式的使用(3) 常用系统类a. 基本输入输出类的使用b. 掌握Math类的使用(4) 类及其方法的使用a. 掌握类的定义和方法调用【实验范例】1、数据类型范例publicclass DataTypeDemo {publicstaticvoid main(String args[]) {byte b = 0x55;short s = 0x55ff;int i = 1000000;long l = 0xffffL;char c = 'a';float f = 0.23F; //此行0.23后的F可否去掉,为什么?double d = 0.7E-3; //可否将0.7E-3变换为另一种等值方式来表示boolean B = true;String S = "这是字符串类数据类型";System.out.println("字节型变量 b = " + b);System.out.println("短整型变量 s = " + s);System.out.println("整型变量 i = " + i);System.out.println("长整型变量 l = " + l);System.out.println("字符型变量 c = " + c);System.out.println("单精度变量 f = " + f);System.out.println("双精度变量 d = " + d);System.out.println("布尔型变量 B = " + B);System.out.println("字符串类对象 S = " + S);}}2、运算符与表达式(1)数值运算范例publicclass NumCalcDemo {publicstaticvoid main(String args[]) {int a = 8, b = 5;//除法运算System.out.println( a+"/"+ b +" = " + a/b);System.out.println( a+"/"+(-b)+" = " + a/-b);System.out.println(-a+"/"+ b +" = " + -a/b);System.out.println(-a+"/"+(-b)+" = " + -a/-b);//取模运算System.out.println(a +"%"+ b +" = " + a%b);System.out.println(a +"%"+(-b)+" = " + a%-b);System.out.println(-a+"%"+ b +" = " + -a%b);System.out.println(-a+"%"+(-b)+" = " + -a%-b);//自加运算System.out.println(++a + "+" + b + "=" ++ +a + b); //此行会出现什么错误提示,请修正System.out.println(++a + "+" + b + "=" +(++a) + b);System.out.println(a++ + "+(" + (-b) + ")=" + +(++a) + b); //为使得输出的表达式正确,此处应该怎么改System.out.println(- ++a + "+" + b + "=" + - ++a + b);System.out.println(- a++ + "+" + (-b) + "=" + -a++ + -b);}}(2)关系运算与逻辑运算范例publicclass OperationDemo {publicstaticvoid main(String args[]) {int a = 25, b = 3;boolean d = a<b;System.out.println(a+"<"+b+" = "+d);int e = 3;d = (e!=0 && a/e>5);System.out.println(e+"!=0&&"+a+"/"+e+">5 = "+d);int f = 0;d = (f!=0 && a/f>5);System.out.println("d=" + d);d = (a/f>5 && f!=0); //有错,如何修正?System.out.println("d=" + d);}}【预备知识】1、控制台输出Java从控制台输出可使用以下方法:System.out.print()System.out.println()2、控制台输入Java从控制台输入的3种方式:(1) 用System.in.read()获取"单个"字符import java.io.*; //导入Input/Output数据包publicclass CharInputDemo {publicstaticvoid main(String [] args) throws IOException//抛出IO异常{System.out.print("Enter a Char:");char i = (char) System.in.read();System.out.println("your char is :"+i);}}(2) 用BufferedReader类和InputStreamReader类获取"字符串"import java.io.*;publicclass StreamReaderDemo {publicstaticvoid main(String [] args) throws IOException{ BufferedReader br = new BufferedReader(newInputStreamReader(System.in));String str = null;System.out.println("Enter your value:");str = br.readLine();System.out.println("your value is :"+str);}}(3) 使用Scanner类读入"字符串"import java.util.*; //导入java.util工具包publicclass ScannerDemo {publicstaticvoid main(String [] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入你的姓名:");String name = sc.nextLine();System.out.println("请输入你的年龄:");int age = sc.nextInt();System.out.println("请输入你的工资:");float salary = sc.nextFloat();System.out.println("你的信息如下:");System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);sc.close(); //关闭输入流}}注:(1) (2)需要抛出异常:throws IOException(3) 比较灵活,建议使用3、常用系统类:ng包:String类、Math类(使用方法请参考教材Java常用系统类),String类使用实例在下一章介绍。
Java实验一实验内容(1)写一个应用程序:在屏幕上显示hellojava(2) 写一个Applet小程序,输出hellojava(3) 利用循环计算2+4+6+8+……+100的总和并显示输出结果(4) 编程计算从10到20的平方值并将结果保存在一个数组中实验目的1熟练掌握Java中的数据类型、运算符、表达式及流程控制语句;2掌握数组的定义、建立及其使用方法;3熟悉Java一般程序的结构。
介于机房没有相关java编程软件,我们用txt文件来写java程序。
写完后,修改文件名的后缀,改为.java.编译:点“开始”-“运行”-输入“cmd”-打开你保存.java文件的目录-输入“javac文件名.java”,就会生成.class文件运行:在打开的DOS 环境里,打开你保存.java文件的目录,输入“java 文件名”即可答案:1 JA V A 语言基础(1)写一个应用程序:在屏幕上显示hellojavapublic class HelloWorld{public static void main(String[] args){System.out.println("Hello World!");}}(2)写一个Applet小程序,输出hellojavaimport javax.swing.JApplet;//引入类JAppletimport javax.swing.JLabel;//引入标签类JLabelpublic class HelloWorldApplet extends JApplet{public void init(){System.out.println("init Applet");}public void start(){System.out.println("start Applet");getContentPane().add(new JLabel("HelloWorldApplet"));}public void stop(){System.out.println("stop Applet");}public void destroy(){System.out.println("destory Applet");}}(3)利用循环计算2+4+6+8+……+100的总和并显示输出结果public class s{public static void main(String args[]){int i=2,sum=0;while(i<=100){sum+=i;i+=2;}System.out.println("求和结果是:"+sum);}}(4)编程计算从10到20的平方值并将结果保存在一个数组中public class Square{public static void printSquare(){long a[] =new long[11];int i;for(i=10;i<=20;i++)a[i-10]=i*i;for(i=0;i<=10;i++)System.out.println(10+i+"的平方值"+a[i]);}public static void main(String args[]){printSquare();}}。
Java实验题目一.实验一(选一)1.某商店规定:三个空汽水瓶可以换一瓶汽水。
小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?2.定价一瓶汽水4角8分钱,同时规定3个空瓶可以换回1瓶汽水,或20个空瓶可以换回7瓶汽水。
今有n元钱买汽水,最多可喝多少瓶汽水?3.这是17世纪的法国数学家加斯帕在《数目的游戏问题。
中讲的一个问题:15个教徒和15个非教徒在深海上遇险,必须将一半的人投入海中,其余的有才能幸免于难,于是想了一个办法:30个人围成一个圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环进行直到仅余15个人。
问怎样排法,才能使每次投入大海的都是是非教徒。
4.酋长的女儿艾丽要出嫁了,按以往的风俗习惯,要搭个高台,台下是众多的求婚者,艾丽在台上扔束花,扔在台下谁身上,艾丽就得嫁给谁。
她担心落不到心爱的雷蒙身上。
艾丽私下约雷蒙商量如何是好。
雷蒙想出了一个主意。
艾丽便和父亲说:“我不愿意搭台撤花,这么多人来,挤在一起乱哄哄的,没秩序。
”父亲说,“不这样也可以,但结婚时要当场在人群中决定嫁给谁,不许指名,方法你自己定。
”艾丽高兴地告诉主持人如何行事。
婚日来临,人群拥挤,主持人叫求婚者排成一队,雷蒙在队外数了数队列共有101人,于是自己找了个合适的位置也站在队形中,主持人要求大家从前往后1,2,1,2,。
报数,报单数的退出场外,余下的人位置不变,再重新从前往后1,2,1,2,。
报数,报单数的退场,如此下去最后只剩一个,艾丽便嫁给谁。
大家惊奇的发现最后骗剩下的竟是雷蒙。
请问雷蒙刚开始站在队列的第几个位置。
5.一个正整数有可能可以表示为n(n>=2)个连续正整数之和,如:15=1+2+3+4+515=4+5+615=7+8请编写程序,根据输入的任何一个正整数,找出符合这种符合要求的所有连续正整数序列。
6.n个人围成一圈,并依次编号1――n.从编号为1的人开始,按顺时针方向每隔一个选出一个,剩下的人重新围成一圈,如此循环直到剩下两人,这剩下的两人就是幸运儿。
Java实验一(题目及答案)1.(确定成绩等级)输入一个分数(0到100之间),若该分数大于等于90,输出优秀;否则,若该分数大于等于80,输出良好;否则,若该分数大于等于70,输出中等;否则,若该分数大于等于60,输出及格;否则,输出不及格;答题解析:该题考查if语句的多分支概念,在设计时应注意,范围小的条件写在前,范围大的条件写在后。
实例代码:package test1;import java.util.Scanner;public class t1 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.println("请输入一个分数值(0到100之间)");int score=in.nextInt();if(score>100||score<0)System.out.println("输入成绩有误!");else if(score>=90)System.out.println("优秀!");else if(score>=80)System.out.println("良好!");else if(score>=70)System.out.println("中等!");else if(score>=60)System.out.println("及格!");elseSystem.out.println("不及格");}}2.(打鱼晒网)3天打鱼,2天晒网,按照这个规律,输入一个数值表示第N天,问该天是打鱼还是晒网?答题解析:该题考查if语句、求模运算符(%)等的应用:若1<=N%5<=3,则该天是打鱼;否则,该天是晒网。
1.安装JDK 7 with NetBeans 7.0.1;(下载地址:/technetwork/java/javase/downloads/jdk-7-netbeans-download-432126.htm l)2.查看环境变量Java_HOME、path和classpath,并将之与以前单独安装JDK时进行比较;3.熟悉NetBeans IDE 7.0.1使用环境;4.在NetBeans IDE 7.0.1中分别生成一个简单的Java应用程序和一个applet小程序(每个程序可以在屏幕上显示“hello world”)作为今天作业提交;5.作业提交时将源代码压缩为:学号_姓名.注意:如果同一个作业欲重复提交命名为:学号_姓名_提交次数如第二次提交时可命名为:学号_姓名_2 , 第三次提交时可以命名为:学号_姓名_3在NetBeans中编写下述程序:1.参考P33例2-1编写一个程序,要求输出半径分别为1,2,3,4,高分别为1,2,3,4的圆柱体的体积。
2.编写P37课堂模仿2的程序。
将作业放入新建的文件夹中,并将文件夹压缩为:学号_姓名提交到ftp上对应的文件夹中.如果同一个作业欲重复提交命名为:学号_姓名_提交次数如第二次提交时可命名为:学号_姓名_2 , 第三次提交时可以命名为:学号_姓名_3在NetBeans中编写下述程序:1.对输入整数判断是否闰月年,对输入double数判断是否正数。
(使用JOptionPane.showInputDialog输入信息,JOptionPane.showMessageDialog输出信息,之前需使用import javax.swing.JOptionPane;)2.显示当前时间要求显示当前的格林尼治时间,即格式为(hour:minute:second)其中要用到函数System.currentTimeMillis(),其作用是返回GMT当前时间与1970年1月1日0点之差,单位为毫秒,类型为long。
Java实验综合实验及练习第一部分:编程题1、编写程序实现输入整数n,输出如下所示由数字组成的菱形。
(图中n=5)11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 112.给出年、月、日,计算该日是该年的第几天?3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。
4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。
评分规则:分数为60~100分。
选手最后得分为:去掉一个最高分和一个最低分后其余4个分数的平均值。
5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。
写一个程序测试这个类6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。
设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。
7、编写一个完整的Java Application 程序。
包含接口Shape,MyRectangle类,MyTriangle 类及Test类,具体要求如下:⑴、接口Shape:double area():求一个形状的面积double perimeter ():求一个形状的周长⑵、类 MyRectangle :实现Shape 接口,并有以下属性和方法:① 属性width : double 类型,表示矩形的长height : double 类型,表示矩形的高② 方法MyRectangle(double w, double h):构造函数ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,area=2.0”⑶、类MyTriangle :实现Shape 接口,并有以下属性和方法:① 属性x,y,z: double 型,表示三角形的三条边s: 周长的1/2(注:求三角形面积公式为))()((z s y s x s s ---,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)② 方法MyTriangle(double x, double y, double z):构造函数,给三条边和s 赋初值。