目录

一、Java基础练习

二、Java选择和循环

三、Java数组练习

四、Java类和对象练习

五、Java字符串练习


一、Java基础练习

1、用Java编写程序,从键盘上输入一个double型的华氏温度,然后将其转换为摄氏温度输出。

package package1;
import java.util.*;
public class class1 {
public static void main(String[] args) {
// TODO Auto- generated method stub
Scanner in=new Scanner(System.in);
System.out.println("请输入华氏度: ");
double g=in.nextFloat();
double w=(5.0/9)*(g-32);
System.out.println(+g+"华氏度"+"对应的摄氏度为: "+w);
}
}

2、 编写程序,从键盘输入a、b、c的值,计算下列表达式 (开根用Math.sqrt()方法)。 

package package1;
import java.util.*;
public class class2 {
public static void main(String[] args) {
// TODO Auto- generated method stub
Scanner.gsq=new Scanner(System.in) ;
System.out.println("Please input the number of a,b,c : ");
int a=gsq.nextInt();
int b=gsq.nextInt();
int c=gsq.nextInt();
double result=(((-1)*b)+Math.sqrt(b*b-4*a*c))/(2*a);
if(b*b-4*a*c<0){
System.out.println("the number doesn't exit");
}e1se{
System.out.println("The result is : "+result);
}
}
}

3、编写程序读取一个0- 1000的整数,计算各位数之和。例如,输入923,则输出各位数之和为14。

package package1;
import java.util.*;
public class class3 {
public static void main(String[] args) {
// T0DO Auto- generated method stub
Scanner gg=new Scanner(System.in);
System.out.println("Please input the number between 0 and 1000: ");
int t=gg.nextInt();
while(t < 0 || t > 1000){
System.out.println("The number you input is invalid,please input again : ");
t=gg.nextInt();
int sum=0,i,a=t;
while(a!=0){
i=a%10;
a/=10;
sum+=i;
System.out.println(" the sum of”+t+”is "+sum);
}
}|

二、Java选择和循环

1、编写程序,要求用户从键盘输入一个double型数,输出该数的整数部分和小数部分。

package package2;
import java.util.*;
public class class1 {
public static void main(String[] args) {
System.out.println( "请输入一-个double数值: ");
Scanner gg =new Scanner(System.in);
String a=gg.nextLine();
int tmp=a.index0f('.');
System.out.println( "整数部分为: "+a. substring(0, tmp));
System.out.println("小数部分为: "+a. substring(tmp+1));
}|

2、编写程序,从键盘输入一个正整数,判断是奇数还是偶数。

package package2;
import java.util.*;
public class class2 {
publ1ic static void main(String[] args) {
// TODO Auto- generated method stub
System.out.print1n("请输入一个整数: ");
System.out.println();
Scanner gg = new Scanner(System.in);
int number = gg.nextInt();
if( (number&1) == 1){
System.out.println("您输入的是奇数!");
}else{
System.out.println("您输入的是偶数!");
}
}|

3、编写程序,要求用户从键盘输入4个正整数,找出其中最大值和最小值并打印输出。

package package2; .
import java.util.*;
public class class3 {
public static void main(String[] args) {
int a[]=new int [4];
Scanner input = new Scanner(System.in);
System.out.println("Please input four numbers: ");
for (int i=0;i<4;i++)
a[i]=input.nextInt();
int min=a[0];
int max=a[0] ;
for int i=0; i<4;i++)
if (a[i]<min){
min=a[i];
}
if (a[i]>max){
max=a[i];
}
System.out.println("The max number is " +max);
System.out.println("The min number is " +min);
}
}

4 、编写一个Java应用程序,输入1-9999之间的数字,判断是否为回文数。

package package2;
import java.util.*;
public class class4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner gg=new Scanner(System.in);
System.out.println("请输入1~9999之间的数字: ");
int a=gg.nextInt();
int b=0,c=0,d=a;
while(a!=0){
c=a%10; .
b=b*10+c;
a=a/10;
}
if(b==d){
System.out.println("该数为回文数! ");
}
else{
System.out.println("该数不是回文数! ");
}

5、编写程序,实现最大公约数程序

package package2;
import java.util.*;
public class class5{
public static void main(String[] args) {
Scanner gg= new Scanner(System.in);
System.out.println("请输入两个整数: ");
int a=gg.nextInt();
int b=gg.nextInt();
for(int c=Math.max(a,b);c>=1;c--){
if(a%c==0 && b%c==0){
System.out.println(" 最大公约数为: "+c);
break ;
}

 6、编写程序,要求用户从键盘上输入一个月份,输入该年是否为闰年。符合下面两个条件之一的年份即为闰年;(能被4整除,但不能被100整除并且能被400整除。

package package2;
import java.util.*;
public class class6 {
public static void main(String[] args) {
Scanner gg = new Scanner(System.in);
System.out.println("请输入今夕是何年: ");
int y=gg.nextInt();
if((y%4==0 && y%100!=0) || y%400==0) {
System.out.println(y+"是闰年");
else
System.out.println(y+"不是闰年");
}
}

 7、编写程序,计算并输出1-1000之间含有7或者是7的倍数的整数之和及个数。

package package2;
import java.util.*;
public class class7 {
public static void main(String[ ] args) {
int s=0,c=0;
for(int i=1;i<=1000;i++){
if(i%7==0||i%10==7||(i/100)%10==7||(i/10)%10==7){
S+=i;
C++;
System.out.println("1-1000之间含有7或者是7的倍数的整数之和及个数分别是"+s+","+c+"个");
}
}

三、Java数组练习

1、随机生成10个1-100之间的整数。存入到一个数组中。输出该数组的最大值、最小值、平均值和所有数组元素的和。

package package4;
public class class1;
public static void main(String[] args) {
int [] a=new int [10];
int sum=0, max=0, min=101;
System.out.println("随机生成的十个数字为: ");
for(int i=0;i<10;i++) {
a[i]=(int)(Math.random()*100)+1;//随机生成10个1-100的数
System.out.print(+a[i]+"、");
for(int i=0;i<10;i++) {
sum+=a[i];
if(a[i]<min) //比较最小值
min=a[i];
else if(a[i]>max)
max=a[i]; //比较最大值
System.out.println(“该数组中最大值为" +max+" ,最小值为“+min+" ,数值总和为"+sum+" ,平均值为"+(sum)/10.0);
}
}

2、编写程序, 定义一个数组,并随机生成0-100之间的数.给它赋值,然后将值为0的项去掉,输出新数组。

package package4;
public class class3 {
public static void main(String[] args) {
// TODO Auto- generated method stub
int [] a=new int [7]; //定 义随机生成7个数
int k=0;
System.out.println("原来的数组为: ");
for(int i=0;i<a.length;i++) {
a[i]=(int) (Math. random()*100);
for(int i=0;i<a.length-k;i++) {
System.out.print(a[i]+" ");
}
for(int j=0;j<a.length;j++) {
if(a[j]==0) {
k++;
for(int t=j;t<a.length-1;t++)
a[t]=a[t+1];
}
System.out.println("\n重新生成的数组为: ");
for(int i=0;i<a.length-k;i++) {
System.out.print(a[i]+"“);
System.out.println("\n共去掉"+k+"个0值");
}
}

3、编写程序、完成以下功能:

1)输入20个整数到数组中:

2)使用冒泡法对20个数按从小到大排序,输出排序后的数组:

3).输入一个整数X,在数组中用二分法查找X.找到输出X在数组中的下标,找不到输出-1。

package package4;
import java.util.Scanner;
public class class2 {
public static void main(String[] args) {
int [] a=new int[20];//定 义数组存放20个数
int gg;
System.out.print1n("生成的数组为: ");
for(int i=0; i<a.length;i++) {
a[i]=(int)(Math.random()*100);//随机生成20个数
System.out.print(a[i]+" ");
//冒泡排序
for(int i=0; i<a.1ength-1;i++) {
for(int j=0;j<a.length-1-i;j++) {
if(a[j]>a[j+1])团
gg=a[j];
a[j]=a[j+1];
a[j+1]=gg;
}|
}
//输出排序后的数组
System.out.println("\n排序后的顺序: ");
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");//二分法查找X
int p=0,1=a.length-1, k=0;
Scanner in=new Scanner(System. in);
System.out.println("\n请输入一个0~100的整数: ");
int t=in.nextInt();
while(1>=0) {
k=(p+1)/2;
if(t<a[k])
1=k-1;
else if(t==a[k]) {
System.out.println("该数所处的位置为: a["+k+"]");
break;
}else
p=k+1;
if(t!=a[k])
System.out.println( -1);
}
}

运行程序并检测,输入数字属于该数组时和不属于该数组时:

四、Java类和对象练习

1、定义一个名为Person的类,其中含有一个String类型的成员变量和一个int类型的成员变量,分别为这两个变量定义访向方法和修改方法。另外再为该类定义一个名为speak的方法,输出其成员变量的值。画出该类的UML图,编写程序测试该类的所有方法。

(1)、UML图如下图所示:

(2)、编写程序如下:

package package3;
import java.util.*;
public class person {
String name;
int height;
public String getName() {
return name ;
}
public void setName(String name) {
this.name = name; .
}
public int getheight() {
return height;
}
public void setheight(int height) {
this.height = height;
public void set(String name, int height){
this.name=name;
this.height=height;
}
public void speak(){
System.out.print(name+" "+height);public static void main(String[] args) {
person a=new person() ;
a.set("王帅",178);
a.speak();
}

2、定义一个名为Circle的类表示圆,定义求圆的面积和周长的方法,为其成员变量定义访问和修改方法(使用构造方法)。画出该类的UML图,编写程序测试该类的所有方法。

(1)画出UML图如下图所示:

(2)首先创建Circle类创建方法,代码如下图所示:

package package3;
public class Circle {
private double r;
public double getR() {
return r;
public void setR(double r) {
this.r = r;
}
public void setArea() {
System.out.println("面积为"+3.14*r*r);
public void setLength() {
System.out.println("周长为"+2*3.14*r);

(3)创建test类来调用输出,代码如下图所示:

package package3;
public class test {
public static void main(String[] args) {
Circle c=new Circle();
c.setR(2);
System.out.println("半径为"+c.getR());
c.setArea();
C.setLength();|
}
}

(4)运行程序并检测:

3、定义一个表示圆的类Circle,构建合理的方法和变量;定义一个名为Cylinder类表示圆柱,它继承Circle类,要求定义一个变量height表示圆柱高度。覆盖getArea()方法求圆柱的表面积,定义getVolume()方法求圆柱体积。定义默认构造方法和带radius和height两个参数的构造方法。编写测试程序,提示用户输入圆柱的底面圆的半径和高度,程序创建一个圆柱对象,计算并输出圆柱表面积和体积。用UML图画出类及其关系。

(1)画出UML图:

(2)编写父类Circle类,代码如下:

package day1;import java.util.Scanner;public class Circle {double radius;public double area() {return radius*radius*3.14;    }public double getRadius() {return radius;}public void setRadius() {System.out.println("请输入底面面的半径:");Scanner sc =new Scanner(System.in);radius=sc.nextDouble();}}

(3). 编写子类Cylinder继承父类Circle类,具体代码如下图所示:

package day1;import java.util.Scanner;public class Cylinder extends Circle {double height;public double getLength() {return 2*3.14*radius;}public double getVolume() {return height*area();}public double getArea() {return 2*area()+height*getLength();}public double getHeight() {return height;}public void setHeight() {System.out.println("请输入圆柱的高:");Scanner sc =new Scanner(System.in);height=sc.nextDouble();}public static void main(String[] args) {Cylinder a=new Cylinder();a.setRadius();a.setHeight();System.out.println("圆柱的表面积为:"+a.getArea());System.out.println("圆柱的体积为:"+a.getVolume());}
}

(4). 运行代码并检测:

4、利用继承性与派生类来管理学生和教师档案。假设要管理下述几类人员的如下一些数据。

    teacher(教师)类:姓名、性别、年龄、职称、担任课程;

    student(学生)类:姓名、性别、年龄、学号、系别;

    gradstudent(研究生)类:姓名、性别、年龄、学号、系别、导师。

要求每个类只设立构造函数以及显示类对象数据的成员函数。编写主函数,说明有关类对象,并对其类成员函数进行简单测试。用UML图画出类及其关系。

(1)画出UML图:

(2).编写父类Person类,代码如下所示:

package day1;
public class Person {public String name;public String sex;public int age;public void showInfo() {System.out.println("姓名:"+name);System.out.println("性别:"+sex);System.out.println("年龄:"+age);}
}

(3).编写Teacher类继承person类,代码如下图所示:

package day1;
public class Teacher extends Person{String name="王刚";String sex="男";int age=23;String job="班主任";String project="软件工程";public void showInfo() {     System.out.println("姓名:"+name);System.out.println("性别:"+sex);System.out.println("年龄:"+age);System.out.println("职称:"+job);System.out.println("担任课程:"+project);}
public static void main(String[] args) {Teacher teach =new Teacher();teach.showInfo();
}
}

(4)编写Student类继承Person类,代码如下图所示:

package day1;
public class Student extends Person{String name="小明";String sex="男";int age=19;String number="20173344134";String department="物联网";public void showInfo() {System.out.println("姓名:"+name);System.out.println("性别:"+sex);System.out.println("年龄:"+age);System.out.println("学号:"+number);System.out.println("系别:"+department);}public static void main(String[] args) {Student stu =new Student();stu.showInfo();
}}

(5)编写Gradstudent继承Student类,代码如下图所示:

package day1;
public class Gradstudent extends Student{String name="老王";String sex="男";int age=19;String number="20173344134";String department="物联网";String teacher="王刚";public void showInfo() {        System.out.println("姓名:"+name);System.out.println("性别:"+sex);System.out.println("年龄:"+age);System.out.println("学号:"+number);System.out.println("系别:"+department);System.out.println("导师:"+teacher);}public static void main(String[] args) {    Gradstudent stu =new Gradstudent();stu.showInfo();
}
}

(6)运行程序并检测:

5、设计一个汽车类,包含一个表示速度的成员变量,表示启动,加速,刹车的方法,再设计一个公共汽车类继承自汽车类,需要有表示乘客数量的成员变量,另外定义乘客上车和下车方法,编写测试这两个类的使用。(本程序比较简单,主要用来理解子类和继承,方法大家可以自己定义!)

(1)编写Car父类,定义变量和方法,如下图所示:

package day1;
public class Car {public double speed;public void start() {System.out.println("车辆开始启动!");      }public void speedUp() {System.out.println("车辆开始加速!");}public void stop() {System.out.println("车辆开始刹车!");
}
}

(2)编写publicCar类继承Car,代码如下图所示:

package day1;
public class publicCar extends Car {int number;void getIn() {System.out.println("乘客上车!");}void getOff() {System.out.println("乘客下车!");}public static void main(String[] args) {publicCar c=new publicCar();c.start();c.speedUp();c.stop();c.getIn();c.getOff();}
}

(3)运行程序并检测:

五、Java字符串练习

1、编写程序,输入一句话,将输入的每个单词按字符串从小到大的顺序排序后输出

package test56;
import java.util.Scanner;
public class Wordsorts {public static void main(String[] args) {char[] str=new char[100];char temp;String string= null;Scanner sc=new Scanner(System.in);System.out.println("输入一个字符串:");string=sc.next();str=string.toCharArray();for(int i=0;i<string.length();i++)//排序for(int j=string.length()-1;j>i;j--){if(str[j]<=str[j-1]){temp=str[j];str[j]=str[j-1];str[j-1]=temp;}}System.out.println(str);sc.close();}
}

2、编写一个加密程序,要求从键盘输入一个字符串, 然后输出加密后的字符串。加密规则是对每个字符串转换为下一个字母表示, 原来是a转换为b.原来是B转换为C.小写的转换为小写的a,大写的Z转换为大写的A。

package test56;
import java.util.Scanner;
public class Password {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");String s = sc.nextLine();char[] ch = s.toCharArray();System.out.println("加密后的字符串为:");for (int i = 0; i < ch.length; i++) {if (ch[i] >= 'A' && ch[i] <= 'Y') {ch[i] = (char) (ch[i] + 1);System.out.print(ch[i]);} else if (ch[i] == 'Z') {System.out.print('A');}else if (ch[i] >= 'a' && ch[i] <= 'y') {ch[i] = (char) (ch[i] + 1);System.out.print(ch[i]);} else {System.out.print('a');}}}
}

Java实验报告(基础练习、选择循环、数组、字符串及类和对象)相关推荐

  1. java实验报告4 分支和循环语句

    4.1 实验目的 本实验的目的是熟悉如何使用循环语句解决问题. 4.2 实验要求 编写一个 Java 应用程序,输出区间[200,300]上的所有素数,要求写出程序的运行结果. 4.3 实验指导 可以 ...

  2. java数组使用实验报告_JAVA数组与类的定义-java实验报告

    JAVA数组与类的定义-java实验报告 JAVA数组与类的定义-java实验报告 .实验目的与要求 1. 熟悉Java类.对象和方法的一般操作练习等. 2. 熟悉数组等的定义和使用. 二.实验内容及 ...

  3. java实验册_Java实验报告册Java实验报告册.doc

    Java实验报告册Java实验报告册 <面向对象程序设计> 实验报告与习题册2013 / 2014 学年 第1学期系 别 计算机科学与技术系专 业 班 级 姓 名 指导教师 目 录 项 目 ...

  4. java实验报告可下载_JAVA实验报告.doc

    JAVA实验报告.doc 学 生 实 验 报 告 册(理工类)课程名称面向对象程序设计 专业班级16计算机科学与技术(专转本) 学生学号 1613203022 学生姓名 张义丹 所属院部 计算机工程 ...

  5. java泛型实验报告,java实验报告异常集合类和泛型

    java实验报告异常集合类和泛型 成绩: 面向对象原理与 Java 实践课程实验报告实验 3:异常.集合类和泛型姓 名 _ ___ 班 级 _ ___ 学 号 _ ___ 实验地点 _ ___ 实验时 ...

  6. 武汉科技大学java题库答案_武汉科技大学 java实验报告 实验二

    <武汉科技大学 java实验报告 实验二>由会员分享,可在线阅读,更多相关<武汉科技大学 java实验报告 实验二(9页珍藏版)>请在金锄头文库上搜索. 1.注:"实 ...

  7. 武汉科技大学java题库答案_武汉科技大学java实验报告实验二.doc

    武汉科技大学java实验报告实验二.doc 注"实验记录及个人小结"部分不够可另附页或在背面续写第页信息科学与工程学院JAVA程序设计上机实验报告专业班级姓名学号实验时间指导教师成 ...

  8. java实验报告 05 类与_java程序设计类与方法-java实验报告

    java程序设计类与方法-java实验报告 java程序设计类与方法-java实验报告 1. 实验内容或题目 (1) 编写Java应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入并 ...

  9. java人学生大学生类的继承,java实验报告7.doc

    java实验报告7.doc 实 验 报 告( 2014 / 2015学年 第2学期)课程名称JAVA程序设计实验名称 类的继承实验时间2015年4月30日指导单位计算机学院/软件学院软件工程系指导教师 ...

  10. Java实验报告(6)

    Java实验报告(实验6) henu大二Java实验作业 实验目的: 1.掌握容器类的层次结构: 2.掌握Collection接口和List接口的常用方法: 3.掌握Iterator接口的使用方式: ...

最新文章

  1. Windows远程连接的实现
  2. 进入Linux救援(rescue)模式的四大法门
  3. 2013\Province_Java_C\1.猜年龄
  4. BZOJ-1968: [Ahoi2005]COMMON 约数研究 (思想)
  5. 26个要素,仅仅依靠百度打造成功网站
  6. 摄像机成像公式、外参、内参(转载)
  7. 最短路径问题 图论
  8. JAVA8的双重循环怎么优化_Java8处理List的双层循环问题
  9. jsf 自定义属性_JSF资源包,自定义消息示例教程
  10. cad上样条曲线上的点太多了_CAD如何将样条曲线转换成多段线
  11. 关于计算机网络ppt背景图片,windows10设置幻灯片播放式背景桌面图文教程
  12. Python-Django毕业设计小斌美食网站(程序+LW)
  13. 分库分表会带来读扩散问题?怎么解决?
  14. 文件不能粘贴ftp服务器中,ftp服务器复制粘贴文件夹
  15. 前端iframe标签介绍及使用
  16. windows git bash 设置多个php版本和composer版本
  17. php怎么把字弄到另一张图片上,怎样把一张图片p到另外一张图片上去
  18. Spark常见错误剖析与应对策略
  19. JavaScript — 基础语法
  20. ajax302错误,Wordpress admin-ajax导致错误302重定向

热门文章

  1. js中得call()方法和apply()方法的用法
  2. null和空 not null
  3. 现代语音信号处理之语音信号的非线性分析
  4. 基于genius框架的智能代理(intelligence agent)项目实战
  5. 山东省特种设备作业考试系统_2019防爆电气作业在线免费模拟考试系统及模拟题库5...
  6. python列表嵌套字典取值_Python学习100天-Day03(字符串、列表、字典、元组)
  7. android对象引用释放,Android程序的内存泄漏与规避方法
  8. linux 进程 堆大小,Linux进程的默认分配堆大小
  9. 打开浏览器网址方法(PyQt Qt for python)
  10. WINDOWS下SQL2016安装