微智科技网
您的当前位置:首页JAVA程序

JAVA程序

来源:微智科技网


实验三

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

因篇幅问题不能全部显示,请点此查看更多更全内容