实验三
1. 在一个数组中放入三个数(随机),按小到大输出。(if else) package jpt.shiyan; public class Compare {
public static class num{ public int a,b,c;
public void compare(){ if(a>b){
if(b>c){
System.out.print(c+\"<\"+b+\"<\"+a);} else{
if(a>c){
System.out.print(b+\"<\"+c+\"<\"+a);} else{
System.out.print(b+\"<\"+a+\"<\"+c);} } }
else{
if(a>c){
System.out.print(c+\"<\"+a+\"<\"+b);} else{
if(b>c){
System.out.print(a+\"<\"+c+\"<\"+b);} else{
System.out.print(a+\"<\"+b+\"<\"+c);} } } }
public static void main(String[] args) { num num=new num(); num.a=50; num.b=90; num.c=5;
num.compare(); } } }
1
2.输入一个年份,判断是否为闰年,判断闰年的条件是①能被4整除,但不能被100整除的年份都是闰年;②能被100整除,同时又能被400整除的年份也是闰年。(if else) package jpt.shiyan;
import java.io.InputStream; import java.util.Scanner; public class Runnian {
public void Scanner( InputStream Input){ }
public static void main(String[] args) { // TODO Auto-generated method stub Scanner year = new Scanner(System.in); System.out.println(\"请输入年份:\"); int y = Integer.parseInt(year.next()); if (y % 400 ==0) {
System.out.println(\"今年是闰年。\"); }
else if(y%4 == 0 && y%100 != 0) {
System.out.println(\"今年是闰年。\"); }
else {
System.out.println(\"今年不是闰年。\"); } } }
3、 根据学生的成绩,输出相应的优、良、中、及格、不及格等级。(switch case) package jpt.shiyan;
import java.util.Scanner; public class Chengji {
public void Scanner(){ }
public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(\"input the score\");
Scanner inputscan=new Scanner((System.in)); int score=inputscan.nextInt();
switch(score/10){
case 10:System.out.println(\"优\"); break; case 9:System.out.println(\"优\"); break; case 8:System.out.println(\"良\"); break; case 7:System.out.println(\"中\"); break; case 6:System.out.println(\"及格\"); break; default:
System.out.println(\"不及格\"); break; } } }
2
实验四
1. 输入星期几的首字母及次字母,来判定是星期几。 package shiyansi;
import java.util.Scanner; public class xingqi {
public xingqi() {// TODO Auto-generated constructor stub}
public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(\"请输入第一个字母\"); Scanner sc1=new Scanner(System.in); String str = sc1.nextLine(); char ch1 = str.charAt(0); if(ch1=='s'){
System.out.println(\"请输入第二个字母\"); Scanner sc2= new Scanner(System.in); String str2=sc2.nextLine(); char ch2=str2.charAt(0); switch(ch2){
case 'a':System.out.print(\"星期六\"); break; case 'u':System.out.print(\"星期日\"); break; default: System.out.print(\"输入的字母有误\"); } }
else if(ch1=='t'){
System.out.println(\"请输入第二个字母\"); Scanner sc3= new Scanner(System.in); String str3=sc3.nextLine(); char ch3=str3.charAt(0); switch(ch3){
case 'h':System.out.print(\"星期四\"); break; case 'u':System.out.print(\"星期二\"); break; default: System.out.print(\"输入的字母有误\"); } } else{
switch(ch1){
case 'm':System.out.print(\"星期一\"); break; case 'w':System.out.print(\"星期三\"); break; case 'f':System.out.print(\"星期五\"); break; default: System.out.print(\"输入的字母有误\"); } } } }
3
2. 一张纸的厚度为0.5毫米,折多少次可以达到珠穆朗玛峰的高度(8848米)? package shiyansi;
public class zhediecishu { public zhediecishu() {
// TODO Auto-generated constructor stub }
public static void main(String[] args) { // TODO Auto-generated method stub double s=0.5; int t=0;
while (s<8848000) {
s=2*s; t++; }
System.out.println(\"折叠次数为\"+t); } }
3. 编写一个程序求1!+2!+„+10! package shiyansi;
public class jiecheng {
private static String sum;
public jiecheng() {
// TODO Auto-generated constructor stub }
public static void main(String[] args) { // TODO Auto-generated method stub int sum=0,i,s=1; for(i=1;i<=10;i++) {
s=s*i; sum=sum+s; }
System.out.println(\"sum=\"+sum); } }
4
4. 编程输出下列图形 package shiyansi;
public class tuxing {
public tuxing() {
// TODO Auto-generated constructor stub }
public static void main(String[] args) { // TODO Auto-generated method stub for (int i=1;i<5;i++){ for (int k=1;k<=4-i;k++) System.out.print(\" \"); for (int j=0;j<2*i-1;j++) System.out.print(\"*\"); System.out.println(\" \"); } } }
实验五
1. 求1到100之间的素数(除了1和本身外不能被其他数整除的数)package sy5;
public class sushu {
public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(\"2是素数\"); int i,j;
for(i=3;i<=100;i++){ for(j=2;jif(i % j == 0)break; } if(j>i/2)
System.out.println(+i+\"是素数\"); } } }
5
2. 编程输出乘法口诀表 package sy5;
public class chengfabiao {
public static void main(String[] args) { // TODO Auto-generated method stub int i,j;
for(i=1;i<=9;i++){ for(j=i;j<=9;j++)
System.out.println(+i+\"*\"+j+\"=\"+i*j); } } }
3. 打印出所有的 \"水仙花数 \",所谓 \"水仙花数 \"是指一个三位数,其各位数字立方和等
于该数本身。 package sy5;
public class shuixianhuashu {
public static void main(String[] args) { // TODO Auto-generated method stub int i,j,m;
for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(m=0;m<=9;m++)
if(i*100+j*10+m == i*i*i+j*j*j+m*m*m) System.out.println(+i*100+j*10+m); } }
4. 将一个数组逆序输出 package sy5;
import java.util.Scanner; public class shuzunixu {
public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(\"请输入10个数:\"); Scanner array = new Scanner(System.in); int[] a = new int[10];
for(int i = 0; i < 10; i++){ a[i]=array.nextInt(); }
System.out.println(\"逆序数组是:\"); for (int i = 9; i >=0; i--) { System.out.println(a[i]); } } }
6
实验六 类对象
1.定义一个学生类(Student),要求:包含属性“姓名(name)”和“总人数(counter)”,包含方法“显示学生姓名(showName)”,“显示总人数(showCounter)”。编写应用对Student类进行测试。 package sy6;
public class Student { String name;
static int counter=0;
public Student(String name){ this.name=name; counter++; }
public void showName(){
System.out.println(\"学生姓名:\"+name); }
public static void showCounter(){
System.out.println(\"班级当前人数:\"+counter); }
public static void main(String[] args) { // TODO Auto-generated method stub Student stu[]=new Student[5]; stu[0]=new Student(\"张三\"); stu[0].showName(); Student.showCounter();
stu[1]=new Student(\"李四\"); stu[1].showName(); Student.showCounter();
stu[2]=new Student(\"王五\"); stu[2].showName(); Student.showCounter();
stu[3]=new Student(\"赵六\"); stu[3].showName(); Student.showCounter(); } }
7
2.设计一个Cat类,包含属性:名字(name)和食物(food,私有权限),包含方法:构造函数、取食物、设置食物、吃食物。编写应用对Cat类进行测试。 package sy6;
public class Cat {
String name; String food;
Cat(String name){ this.name=name; }
public void getFood(){
System.out.println(\"获取\"+food); }
public void eatFood(){
System.out.println(\"吃\"+food+\"...\"); System.out.println(\"吃饱了\"); }
public void setFood(String food){ this.food=food; }
public static void main(String[] args) { // TODO Auto-generated method stub Cat c=new Cat(\"小喵\"); c.food=\"小鱼\"; c.setFood(\"小鱼\"); c.getFood(); c.eatFood(); } }
8
实验七 类对象
1、 设计并实现一个银行账号类Account,用以模拟存款和取款过程,其主要功能与要求如
下:
(1)账户信息包括:账号、姓名、开户时间、存款额。 (2)存款方法、取款方法。
(3)显示姓名、显示账号、查询余额等方法。 (4)在主方法中对上述功能进行测试 package sy7;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Account {
String account; String name;
SimpleDateFormat date; double outstand;
public void deposit(double money){ this.outstand += money;
System.out.println(\"存款成功,你的余额为:\"+this.outstand+\"元\"); }
public boolean draw(double money){ boolean result = false; if (money > outstand){
System.out.println(\"您的取款超过了您的存款余额!!取款失败!\"); result = false; } else{
this.outstand -= money;
System.out.println(\"取款成功。\"); result = true; }
return result; }
public void showName(String name){
System.out.println(\"你的姓名为:\"+this.name); }
9
public void show(String number){ this.account=number;
System.out.println(\"你的账号为:\"+this.account); }
public void balanceInquiries(double money){ this.outstand=money;
System.out.println(\"你的账户余额为:\"+this.outstand+\"元\"); }
public static void main(String[] args) { // TODO Auto-generated method stub Account b=new Account();
Scanner scanner=new Scanner(System.in); System.out.println(\"请输入你的账号:\"); b.account=scanner.next();
System.out.println(\"请输入你的姓名:\"); b.name=scanner.next(); Date d=new Date();
SimpleDateFormat formatDate = new SimpleDateFormat(\"yyyy-MM-dd\"); String str=formatDate.format(d);
System.out.println(\"你的开户时间为:\"+str); System.out.println(\"你的存款余额是:\"); b.outstand=scanner.nextDouble();
System.out.println(\"你想要存款的数目是:\"); double a;
a=scanner.nextDouble(); b.deposit(a);
System.out.println(\"你想要取款的数目是:\"); double f=scanner.nextDouble(); b.draw(f);
b.showName(b.name); b.show(b.account);
b.balanceInquiries(b.outstand); }
}
10
2、计算三角形的面积和周长,有关要求如下: (1)先设计一个Point类
(2)再使用Point类,设计一个Triangle类,包括其构造方法、求解三角形面积、周长 。”。编写应用对point、Triangle类进行测试。 package sy7; class Point {
private int x; private int y;
public Point(int x1,int y1){ x = x1; y = y1; }
double dist(Point p){
return Math.sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y)); }
public int getX(){ return x; } public int getY(){ return y; } }
public class Triangle { Point p1,p2,p3;
public Triangle(Point p1,Point p2,Point p3){ this.p1 = p1; this.p2 = p2; this.p3 = p3; }
double area(){
double a = p1.dist(p2); double b = p2.dist(p3); double c = p3.dist(p1); double S = (a + b + c) / 2;
double area1 = Math.sqrt(S * (S - a) * (S - b) * (S - c)); return area1; }
public static void main(String[] args) { // TODO Auto-generated method stub Point p1 = new Point(5,5); Point p2 = new Point(10,20); Point p3 = new Point(15,5);
Triangle Area = new Triangle(p1,p2,p3);
double C=p1.dist(p2)+p2.dist(p3)+p3.dist(p1); System.out.println(\"三角形的周长为:\"+C);
System.out.println(\"三角形的面积为:\" + Area.area()); } }
11
实验八 继承
定义一个学生类Student,它继承自person类。 (1)Student类,有以下几个变量:
继承自父类的变量:姓名(string name),性别(char sex),年龄(int age) 子类新增加的变量:学号(long number),语文成绩(int chinese),数学(int math),外语(int english)
(2)Student类有以下几个方法:
子类新增加的方法:求三门功课的平均成绩 public double aver(),该方法没有参数,返回值类型为double型。 子类覆盖父类的同名方法:public String toString():该方法没有参数,获取学号、姓名、性别、平均分信息。 package sy8;
import java.util.Arrays; class Person{
private String name; private char sex; private int age; public Person(){};
public Person(String name,char sex,int age){ this.name=name; this.sex=sex; this.age=age; }
public String getName(){ return name; }
public void setName(String name){ this.name = name; } public char getSex(){ return sex; }
public void setSex(char sex){ this.sex = sex; } public int getAge(){ return age; }
public void setAge(int age){ his.age = age; } }
public class Student extends Person { private long number; private int chinese; private int math; private int english; private int[] num; public Student(){};
public Student(String name,char sex,int age,long number,int chinese,int math,int english){
super(name,sex,age); this.number=number; this.chinese=chinese;
12
this.math=math;
this.english=english; }
public long getNumber(){ return number; }
public void setNumber(long number){ this.number = number; } public int getChinese(){ return chinese; }
public void setChinese(int chinese){ this.chinese = chinese; } public int getMath(){ return math; }
public void setMath(int math){ this.math = math; } public int getEnglish(){ return english; }
public void setEnglish(int english){ this.english = english; } public double aver(){
return (getChinese()+getMath()+getEnglish())/3; }
private void sort(){
num=new int[]{getChinese(),getMath(),getEnglish()}; Arrays.sort(num); }
public String toString(){
return \"学号:\"+getNumber()+\" 姓名:\"+getName()+\" 性别:\"+getSex()+\" 平均分:\"+aver(); }
public static void main(String[] args) { // TODO Auto-generated method stub
Student s=new Student(\"张三\男',20,11203,80,70,90); System.out.println(s); } }
13
因篇幅问题不能全部显示,请点此查看更多更全内容