陈国君Java2例题代码

上传人:无*** 文档编号:47356173 上传时间:2021-12-20 格式:DOC 页数:121 大小:406KB
返回 下载 相关 举报
陈国君Java2例题代码_第1页
第1页 / 共121页
陈国君Java2例题代码_第2页
第2页 / 共121页
陈国君Java2例题代码_第3页
第3页 / 共121页
点击查看更多>>
资源描述
Java2基础教程第3章 Java语言基础【例3.1】数据类型的自动转换。/app3_1.java 类型自动转换public class app3_1 public static void main(String args) int a=155;float b=21.0f;System.out.println(”a=”+a+”,b=”+b); /输出a,b的值System.out.println(”a/b=”+(a/b); /输出a/b的值 【例3.2】整型与浮点数据类型的自动转换。/app3_2.java 整数与浮点数的类型转换public class app3_2 public static void main(String args) int a=155;int b=9;float g,h;System.out.println(”a=”+a+”,b=”+b); /输出a,b的值g=a/b; /将a除以b的结果放在g中System.out.println(”a/b=”+g+”n”); /输出g的值System.out.println(”a=”+a+”,b=”+b); /输出a,b的值h=(float)a/b; /先将a强制转换成float类型后再参加运算 System.out.println(”a/b=”+h); /输出h的值 【例3.3】从键盘输入数据。/app3_3.java 由键盘输入字符串import java.io.*; /加载java.io类库里的所有类public class app3_3 public static void main(String args) throws IOException BufferedReader buf; String str; buf=new BufferedReader(new InputStreamReader(System.in); System.out.print(”请输入字符串;”); str=buf.readLine(); /将输入的文字指定给字符串变量str存放 System.out.println(”您输入的字符串是:”+str); /输出字符串 【例3.4】从键盘输入数据。/app3_4.java 由键盘输入整数import java.io.*;public class app3_4 public static void main(String args) throws IOException float num; String str; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in); System.out.print(”请输入一个实数:”); str=buf.readLine(); /将输入的文字指定给字符串变量str存放 num= Float.parseFloat(str); /将str转换成float类型后赋给num System.out.println(”您输入的数为:”+num); 【例3.5】从键盘输入多个数据。/app3_5.java 由键盘输入多个数据import java.io.*;public class app3_5 public static void main(String args) throws IOException int num1,num2; String str1,str2; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in); System.out.print(”请输入第一个数:”); str1=buf.readLine(); /将输入的内容赋值给字符串变量str1 num1=Integer.parseInt(str1); /将str1转成int类型后赋给num1 System.out.print(”请输入第二个数”); str2=buf.readLine(); /将输入的内容赋值给字符串变量str2 num2=Integer.parseInt(str2); /将str2转成int类型后赋给num2 System.out.println(num1+”*”+num2+”=”+(num1*num2); 【例3.6】 利用Scanner类从键盘输入多个数/app3_6.java 由键盘输入多个数据import java.util.*; /加载java.util类库里的所有类public class app3_6 public static void main(String args) int num1; double num2; Scanner reader=new Scanner(System.in); System.out.print(请输入第一个数:); num1= reader.nextInt(); System.out.print(请输入第二个数:); num2= reader.nextDouble(); System.out.println(num1+*+num2+=+(num1*num2); 【例3.7】利用Scanner类从键盘输入多个字符串数据。 /app3_7.java 由键盘输入多个数据import java.util.*; /加载java.util类库里的所有类public class app3_7 public static void main(String args) String s1,s2; Scanner reader=new Scanner(System.in); System.out.print(请输入第一个数:); s1= reader.nextLine(); System.out.print(请输入第二个数:); s2= reader.next(); System.out.println(“输入的是:”+s1+“和”+s2); 【例3.8】 关系运算符和逻辑运算符的使用。/app3_8.java 关系运算符和逻辑运算符的使用public class app3_8 public static void main(String args) int a=25,b=7; boolean x=ab; /x=false System.out.println(”a5; /y=true System.out.println(”xy=”+(xy); if(e!=0 & b5) System.out.println(”a/f=”+a/f); else System.out.println(”f=”+f); 第4章 流程控制【例4.1】找出三个整数中的最大值和最小值。/app4_1.java if语句的应用public class app4_1 public static void main(String args) int a=1,b=2,c=3,max,min; if(ab) max=a; else max=b; if(cmax) max=c; System.out.println(“Max=”+max); min=ab ? a : b; min=c=90) grade=A; else if (testscore=80) grade=B; else if (testscore=70) grade=C; else if (testscore=60) grade=D; else grade=E; System.out.println(“评定成绩为:”+ grade); 【例4.3】利用switch语句来判断给定表达式中的运算符,再输出计算后的结果。/ app4_3.java switch语句的应用public class app4_3 public static void main (String args) throws Exception int a=100, b=6; char oper; System.out.println(“请输入运算符:”); oper=(char)System.in.read(); /从键盘读入一个字符存入变量oper中 switch (oper) case +: / 输出a+b System.out.println(a+”+”+b+”=”+(a+b); break; case -: / 输出a-b System.out.println(a+”-”+b+”=”+(a-b); break; case *: / 输出a*b System.out.println(a+”*”+b+”=”+(a*b); break; case /: / 输出a/b System.out.println(a+”/”+b+”=”+(float)a/b); break; default: / 输出字符串 System.out.println(“输入的符号不正确!”); 【例4.4】计算月份天数。import java.util.*;public class app4_4 public static void main(String args) int month,days; Scanner reader=new Scanner(System.in); System.out.println(请输入月份:); month=reader.nextInt(); switch(month) case 2: days=28; break; case 4: case 6: case 9: case 11: days=30; break; default: days=31; System.out.println(month+月份为【+ days +天】); 【例4.5】计算Fibonacci序列的前16项。/ app4_5.java while语句的应用public class app4_5 public static void main (String args) final int MAX=15; /定义常量MAX=15 int i=0,j=1,k=1; while(kMAX) System.out.print (” ”+i+” ”+j); i=i+j; /计算Fibonacci序列中的下一个数 j=i+j; /计算Fibonacci序列中的下一个数 k=k+2; /用于改变循环的条件表达式的值 System.out.println(); 【例4.6】从键盘上输入一个数,判断该数是否是Fibonacci序列中的数。/app4_6.java while语句的应用import java.io.*;public class app4_6 public static void main(String args) throws IOException int a=0,b=1,n,num; String str; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in); System.out.print(”请输入一个正整数:”); str=buf.readLine(); /从键盘上读入字符串赋给变量str num= Integer.parseInt (str); /将str转换成int类型后赋给num while (bnum) n=a+b; a=b; b=n; if (num=b) System.out.println(num+”是Fibonacci数”); else System.out.println(num+”不是Fibonacci数”); 【例4.7】从键盘上输入一个数n,然后计算1+2+n的和。/app4_7.javaimport java.io.*;import java.util.Scanner;public class app4_7 public static void main(String args) double sum=0; int n=0; System.out.println(请输入多个数,每输入一个数后按Enter或Tab或空格键确认); System.out.println(最后输入一个非数字结束输入操作); Scanner reader=new Scanner(System.in); while(reader.hasNextDouble() double x=reader.nextDouble(); sum=sum+x; n+; System.out.println(共输入了【+n+】个数,其和为:+sum); 【例4.8】从键盘上输入一个数n,然后计算1+2+n的和。/ app4_8.java do while循环的应用import java.io.*;public class app4_8 public static void main(String args) throws IOException int n,i=1,sum=0; String str; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in); do System.out.print(“输入正整数:”); str=buf.readLine(); n=Integer.parseInt(str); while (n=0); /要求输入数n必须大于0,否则一直要求重复输入 while(i=n) sum+=i+; /计算和 System.out.println(”1+2+”+n+”=”+sum); /输出结果 【例4.9】用辗转相除法求两个整数的最大公约数。/ app4_9.java import java.io.*;public class app4_9public static void main(String args) throws IOException int a,b,k; String str1,str2; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in); System.out.print(”请输入第一个数 a=”); str1=buf.readLine(); /将输入的文字赋值给字符串变量str1 a=Integer.parseInt(str1); /将str1转成int类型后赋给a System.out.print(”请输入第二个数 b=”); str2=buf.readLine(); /将输入的文字赋值给字符串变量str2 b=Integer.parseInt(str2); /将str2转成int类型后赋给b System.out.print(”gcd(”+a+”,”+b+”)=”); do k=a % b; a=b; b=k; while(k!=0); /若余数k不为0,则继续进行下一次循环 System.out.println(a); 【例4.10】已知S=N!,其中N为正整数,设计算法:任意输入一个正整数M,求满足SM时的最大S及此时的N,并输出S和N。/app4_10.java 循环语句的应用import java.io.*;public class app4_10 public static void main(String args) throws IOException int n=1,s=1,m; String str; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in); do System.out.print(请输入正数m:); str=buf.readLine(); m=Integer.parseInt(str); while (m=0); /当m0为止 while (sm) / 判断n!m是否成立 s*=n; /计算s=n! n+; System.out.println(s=+s/(n-1)+ n=+(n-2); /输出结果 【例4.11】求1到10的累加和。/app4_11.java for循环语句的应用public class app4_11 public static void main(String args) int i,n=10,s=0; for(i=1;i1;i-) /从10到1进行累加求和 s+=i; System.out.print (i+”+”); /输出数i和加号“+” System.out.println(i+”=”+(s+i); /输出结果 【例4.12】求100以内的素数。/app4_12.java 循环嵌套的应用public class app4_12 public static void main(String args) final int MAX=100; /定义常量MAX=100 int j,k,n; System.out.println(“2”+MAX+”之间的所有素数为::”); System.out.print(“2t”); /2是第一个素数,不需测试直接输出 n=1; /n累计素数的个数 k=3; /k是被测试的数,从最小奇数3开始测试,所有偶数不需测试 do /外层循环,从3到100进行素数测试 j=3; /用j去除待测试的数 while(jMath.sqrt(k) & (k % j!=0) /内层循环 j+; /若jMath.sqrt(k) System.out.print(k+“t”); n+; if (n%10=0) System.out.println( ); /每行输出10个数 k=k+2; /测试下一个奇数 while(kMAX); System.out.println(“n共有【”+n+” 】个素数” ); 第5章 数组与字符串【例5.1】声明一个一维数组,其长度为5,利用循环对数组元素进行赋值,然后再利用另一个循环逆序输出数组元素的内容。程序代码如下:/app5_1.java 一维数组public class app5_1 public static void main(String args ) int i;int a; /声明一个数组a a=new int5; /分配内存空间供整型数组a使用,其元素个数为5for(i=0;i=0;i-) /逆序输出数组的内容System.out.print(“a”+i+”=”+ai+”,t”);System.out.println(“n数组a的长度是:”+a.length); /输出数组的长度 【例5.2】设数组中有n个互不相同的数,不用排序求出其中的最大值和次最大值。/app5_2.java 比较数组元素值的大小public class app5_2 public static void main(String args ) int i,Max,Sec; int a=8,50,20,7,81,55,76,93; /声明数组a,并赋初值 if (a0a1) Max=a0; / Max存放最大值 Sec=a1; / Sec存放次最大值 else Max=a1; Sec=a0; System.out.print(“数组的各元素为:”+a0+” “+a1); for(i=2;iMax) /判断最大值 Sec=Max; /原最大值降为次最大值 Max=ai; /ai为新的最大值 else /即ai不是新的最大值,但若ai大于次最大值 if (aiSec) Sec=ai; /ai为新的次最大值 System.out.print(“n其中的最大值是:”+Max); /输出最大值 System.out.println(“ 次最大值是:”+Sec); /输出次最大值 【例5.3】设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m报数,报数到第m的人,此人出圈,再从他的下一个人重新开始从1到m报数,如此进行下去直到所有人都出圈为止。给出这n个人的出圈顺序。/app5_3.java 约瑟夫环问题public class app5_3 public static void main(String args) final int N=13; /总人数N final int S=3; /从第S个人开始报数 final int M=5; /报数到M的人出圈 int p=new intN; int i,s,w,j; s=S; for(i=1;i=2;i-) /总人数为N,依次减1 s=(s+M-1)%i; /计算下一个开始报数的人的位置 if (s=0) s=i; /最后一个出圈人的位置存入变量s中 w=ps-1; /将出圈人的编号保存到变量w中 for (j=s;j=0;i-) System.out.print( +pi); /app5_3_2.java 约瑟夫环问题的另一解法public class app5_3 public static void main(String args) final int N=13; /总人数N final int S=3; /从第S个人开始报数 final int M=5; /报数到M的人出圈 int p=new intN+1; int flag=new intN+1; int i,j,n; for(i=1;i=N;i+) pi=i; flagi=1; i=S; j=1; n=0; System.out.println(n出圈顺序为:); while (true) while (jN ? 1 : i+1); j+=flagi; System.out.print( +pi); flagi=0; n+; if (n=N) break; j=0; 【例5.4】计算并输出杨辉三角形。/app5_4.java 二维数组应用的例子:显示杨辉三角形public class app5_4 public static void main(String args ) int i,j; int Level=7; int iaYong =new intLevel; /声明7行二维数组,存放杨辉三角形 System.out.println(“杨辉三角形”); for (i=0;iiaYong.length;i+) iaYongi=new int i+1; /定义二维数组的第i行有i+1列 iaYong00=1; for (i=1;iiaYong.length;i+) /计算杨辉三角形 iaYongi0=1; for (j=1;j iaYongi.length-1;j+) iaYongij= iaYongi-1j-1+ iaYongi-1j; iaYongi iaYongi.length-1=1; for(i=0;i iaYong.length;i+) /显示出杨辉三角形 for(j=0;j iaYongi.length;j+) System.out.print(iaYongij+” ”); System.out.println(); 【例5.5】声明三维数组并赋初值,然后输出该数组的各元素,并计算各元素之和。/ app5_5.java 三维数组应用public class app5_5 public static void main(String args) int i,j,k,sum=0; int a=1,2,3,4,5,6,7,8; /声明三维数组并赋初值 for (i=0;ia.length;i+) for (j=0;jai.length;j+) for (k=0;k0) str=args0; System.out.println(“str=”+str); n=str.length(); char schar,echar; while (yn & (in/2) /算法1 schar=str.charAt(i); /返回字符串str正数第i个位置的字符 echar=str.charAt(n-i-1); /返回字符串str倒数第i个位置的字符 System.out.println(“schar=”+schar+” echar=”+echar); if (schar=echar)i+; elseyn=false; System.out.println(“算法1:”+yn); String temp=”,sub1=”; for (i=0;in;i+) sub1=str.substring(i,i+1); /将str的第i个字符载取下来赋给sub1 temp=sub1+temp; /将载下来的字符放在字符串temp的首位置 System.out.println(“temp=”+temp); System.out.println(“算法2:”+str.equals(temp); /判断strt与emp是否相等 第6章 类与对象【例6.1】定义一个圆柱体类,并创建相应的对象,然后计算圆柱体的底面积与体积。/app6_1.java 圆柱体类Cylinderclass Cylinder /定义Cylinder类 double radius; /定义成员变量radius int height; /定义成员变量height double pi=3.14; void area() /定义无返回值的方法area(),用来计算圆柱底面积 System.out.println(“底面积=”+pi* radius* radius); double volume () /定义返回值为double型的方法volume (),计算体积 return (pi* radius* radius)*height; public class app6_1 /定义公共类 public static void main(String args ) /程序执行的起始点 Cylinder volu; volu=new Cylinder(); /创建新的对象 volu.radius=2.8; /赋值圆柱volu的底半径 volu.height=5; /赋值圆柱volu的高 System.out.println(“底圆半径=”+volu.radius); /输出底圆半径 System.out.println(“圆柱的高=”+volu.height); /输出圆柱的高 System.out.print(“圆柱”); volu.area(); /输出面积 System.out.println(“圆柱体体积=”+volu.volume(); /输出体积 【例6.2】同时创建多个对象,并修改其中一个对象的成员变量pi的值。/app6_2.java 圆柱体类Cylinder的成员在内存中的分配关系class Cylinder /定义Cylinder类 double radius; int height; double pi=3.14; void area() System.out.println(底面积=+pi* radius* radius); double volume() return (pi* radius* radius)*height; public class app6_2 /定义公共类 public static void main(String args ) Cylinder volu1,volu2; /声明指向对象的变量volu1和volu2 volu1=new Cylinder(); /创建对象圆柱1:volu1 volu2=new Cylinder(); /创建对象圆柱2:volu2 volu1.radius= volu2.radius=2.5; volu2.pi=3; /修改volu2的pi值 System.out.println(圆柱1底半径=+volu1.radius); System.out.println(圆柱2底半径=+volu2.radius); System.out.println(圆柱1的pi值=+volu1.pi); System.out.println(圆柱2的pi值=+volu2.pi); System.out.print(圆柱1); volu1.area(); System.out.print(圆柱2); volu2.area(); 【例6.3】在类内部调用自己的方法。/app6_3.java 在类内部调用方法class Cylinder /定义Cylinder类 double radius; int height; double pi=3.14; double area() /定义返回值为double型的方法area (),计算底面积 return pi* radius* radius; double volume() /定义返回值为double型的方法volume (),计算体积 return area()*height; /在类内调用area()方法 public class app6_3 /定义公共类 public static void main(String args ) Cylinder volu; volu=new Cylinder(); /创建新的对象 volu.radius=2.8; /赋值圆柱volu的底半径 volu.height=5; /赋值圆柱volu的高 System.out.println(底圆半径=+volu.radius); System.out.println(圆柱的高=+volu.height); System.out.print(圆柱); System.out.println(底面积=+volu.area(); System.out.println(圆柱体体积=+volu.volume(); 【例6.4】用变量调用方法。/app6_4.java 以一般变量为参数的方法调用class Cylinder double radius; int height; double pi; void SetCylinder(double r, int h, double p) /具有3个参数的方法 pi=p; radius=r; height=h; double area() return pi* radius* radius; double volume() return area()*height; public class app6_4 /定义公共类 public static void main(String args ) Cylinder volu=new Cylinder(); volu.SetCylinder(2.5, 5,3.14); /调用并传递参数到SetCylinder() System.out.println(底圆半径=+volu.radius); System.out.println(圆柱的高=+volu.height); System.out.println(圆周率pi=+volu.pi); System.out.print(圆柱)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!