实验一 Java编程基础
第1关:编写一个简单Java程序,计算银行年存款的本息
package step;
import java.util.Scanner;
public class OneClass{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double a = input.nextDouble();
double b = input.nextDouble();
int m = input.nextInt();
Calculate(a,b,m);
}
public static double Calculate(double x,double y,int z) {
System.out.println("本金:"+x);
System.out.println("存款年限:"+z);
System.out.println("利率:"+y);
double temp = Math.pow(1+y,z)*x-x;
System.out.println("利息:"+temp);
temp += x;
System.out.println("总额:"+temp);
return temp;
}
}
第2关:编写程序完成矩阵的乘法运算
package step2;
class TwoClass{
public static int[][] Matrix(int a[][], int b[][]) {
if (a[0].length != b.length)
return null;
int y = a.length;
int x = b[0].length;
int c[][] = new int[y][x];
for (int i = 0; i < y; i++)
for (int j = 0; j < x; j++)
for (int k = 0; k < b.length; k++)
c[i][j] += a[i][k] * b[k][j];
return c;
}
}
实验二 (Java)字符串
第1关:第一题 字符串的值转换成浮点型
package step1;
public class DoubleConverter {
public boolean check(String value) {
int len = value.length();
int flag = 1;
for(int i = 0;i < len;i++)
{
if(value.charAt(i) == '.'||value.charAt(i) == '+'||value.charAt(i) == '-')continue;
else if((value.charAt(i) < '0'||value.charAt(i) > '9')) {
flag = 0;
break;
}
}
if(flag == 1) {
return true;
}
else return false;
}
public double convert(String value) {
if(check(value)) {
double num = 0.0;
int flag1 = 1;
int flag2 = 1;
int vim = 0;
for(int i = 0;i < value.length();i++) {
if(value.charAt(i) == '-') {
flag1 = 0;continue;
}
else if(value.charAt(i) == '+')
{
flag1 = 1; continue;
}
if(value.charAt(i) == '.') {
flag2 = 0;
vim = i;
continue;
}
if(flag2 == 0) {
num += (value.charAt(i)-'0')*Math.pow(10,vim-i);
}
else {
num = num*10+(value.charAt(i)-'0');
}
}
if(num!=0) {
if(flag1 == 0) {
num *= -1.0;
}
}
return num;
}
else return 0.0;
}
}
第2关:第二题 字符转换
package step2;
public class Converter {
public String convert(String value) {
int flag = 0;
StringBuilder strBuilder = new StringBuilder(value);
for(int i = 0;i < strBuilder.length();i++) {
if(strBuilder.charAt(i) == ' ') {
flag = 0;
continue;
}
if(flag == 0) {
if(strBuilder.charAt(i) >= 'a'&&strBuilder.charAt(i) <= 'z') {
char c = strBuilder.charAt(i);
c -= 32;
strBuilder.setCharAt(i,c);
flag = 1;
}
else flag = 1;
}
else if(flag == 1) {
if(strBuilder.charAt(i) >= 'A'&&strBuilder.charAt(i) <= 'Z') {
char c = strBuilder.charAt(i);
c += 32;
strBuilder.setCharAt(i,c);
flag = 1;
}
}
}
value = strBuilder.toString();
//System.out.println(value);
return value;
}
}
实验三 (Java)面向对象编程
第1关:第一题:编写一个计算各种形状的面积和周长的程序
第一关共五部分代码:
第一部分:
package step1;
public abstract class Shape2D{
//在这完成Shape2D类的程序的编写
public abstract double getArea();
public abstract double getL();
}
第二部分:
package step1;
//在这完成Circle类的编写
public class Circle extends Shape2D{
private double r;
public Circle(){}
public Circle(double r){
this.r=r;
}
public double getArea(){
return Math.PI*r*r;
}
public double getL(){
return 2*Math.PI*r;
}
}
第三部分:
package step1;
//在这完成Triangle类的编写
public class Triangle extends Shape2D{
private double a;
private double b;
private double c;
public Triangle(){}
public Triangle(double a,double b,double c){
this.a=a;
this.b=b;
this.c=c;
}
public double getArea(){
double p=(a+b+c)/2.0;
if(a+b<=c||a+c<=b||b+c<=a)
return -1;
else
{double s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
}
public double getL(){
return a+b+c;
}
}
第四部分:
package step1;
//在这完成Rectangle类的编写
public class Rectangle extends Shape2D{
private double a;
private double b;
public Rectangle(){}
public Rectangle(double a,double b){
this.a=a;
this.b=b;
}
public double getArea(){
return a*b;
}
public double getL(){
return 2*(a+b);
}
}
第五部分:
package step1;
//在这完成Square类的编写
public class Square extends Rectangle{
private double a;
public Square(){}
public Square(double a){
this.a=a;
}
public double getArea(){
return a*a;
}
public double getL(){
return 4*a;
}
}
第2关:第二题 (Java)类
第二关共三部分代码:
第一部分:
package step2;
//在这些Class类
import java.util.Arrays;
class Class{
private String name;
private int num;
private Student[] stu;
private int count=0;
public Class(int num,String name){
this.num=num;
this.name=name;
this.stu=new Student[num];
}
public void addStudent(Student stu){
if(stu instanceof Student){
this.stu[count]=stu;
count++;
}
}
public int GetStudentNum(){
return num;
}
public Student GetStudent(int index){
return this.stu[index];
}
public String toString(){
return "Class{"+"name:" + name +" number:" + num +" students:" + Arrays.toString(stu) +"}";
}
}
第二部分:
package step2;
//在这儿些Student类
import java.util.Arrays;
class Student{
private int id;
private String name;
private int nCourse;
private Course[] course;
private int count=0;
public Student(int id,String name,int nCourse){
this.id=id;
this.name=name;
this.nCourse=nCourse;
this.course=new Course[nCourse];
}
public void addCourse(Course course){
if(course instanceof Course){
this.course[count]=course;
count++;
}
else return;
}
public int GetCourseNum(){
return nCourse;
}
public Course GetCourse(int index){
return this.course[index];
}
public int calculateAvgGrade(){
int sum=0;
int countCourse=0;
for(int count=0;count
第三部分:
package step2;
//在这些Course类
import java.util.Arrays;
class Course{
private int id;
private String name;
private int credit;
private int cj;
private boolean hk;
public Course(int id,String name,int credit){
this.id=id;
this.name=name;
this.credit=credit;
}
public void sethk(boolean hk){
this.hk=hk;
}
public boolean gethk(){
return hk;
}
public void setcj(int cj){
this.cj=cj;
}
public int getcj(){
return cj;
}
public int getCredit(){
return credit;
}
public String toString(){
return "Course{" + " id:" + id +" name:" + name +" credit:" + credit +" cj:" + cj + " hk:" + hk +"}";
}
}



