华工Java语言程序设计作业答案1-.doc
华南理工大学学生实验报告书实验名称java课程实验课程名称Java语言程序设计课程号学院软件学院专业软件工程班级学生姓名*学号*实验地点实验日期第一章1.3public class Exe1_3 public static void main(String args) System.out.println(" J A V V A"); System.out.println(" J A A V V A A"); System.out.println("J J AAAAA V V AAAAA"); System.out.println(" J J A A V A A"); 第二章2.21import java.util.Scanner;public class Exe2_21 public static void main(String args) System.out.println("Enter three points for triangle : "); Scanner input = new Scanner(System.in); double x1 = input.nextDouble(); double y1 = input.nextDouble(); double x2 = input.nextDouble(); double y2 = input.nextDouble(); double x3 = input.nextDouble(); double y3 = input.nextDouble(); double side1 = Math.sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) ); double side2 = Math.sqrt( (x1-x3)*(x1-x3) + (y1-y3)*(y1-y3) ); double side3 = Math.sqrt( (x2-x3)*(x2-x3) + (y2-y3)*(y2-y3) ); double s = (side1 + side2 + side3) / 2; double area = Math.sqrt( s * (s-side1) * (s-side2) * (s-side3) ); System.out.println("The area of the triangle is " + area); 第三章3.27import java.util.Scanner;public class Exe3_27 public static void main(String args)final double x1 = 0;final double y1 = 0;final double x2 = 200;final double y2 = 0;final double x3 = 0;final double y3 = 100;Scanner input = new Scanner(System.in);System.out.println("Enter a point's x- and y-coordinates : ");double x = input.nextDouble();double y = input.nextDouble();double y_x = -(x/2) + 100;if( x<x1 && x<x3 )System.out.println("The point is not in the triangle!");else if( y<y1 && y<y2 )System.out.println("The point is not in the triangle!");else if( y>y_x )System.out.println("The point is not in the triangle!");elseSystem.out.println("The point is in the triangle!"); 3.29import java.util.Scanner;public class Exe3_29 public static void main(String args)Scanner input = new Scanner(System.in);System.out.println("Enter circle1's center x- ,y-coordinates and radius : ");double x1 = input.nextDouble();double y1 = input.nextDouble();double r1 = input.nextDouble();System.out.println("Enter circle2's center x- ,y-coordinates and radius : ");double x2 = input.nextDouble();double y2 = input.nextDouble();double r2 = input.nextDouble();double length = Math.sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );double L1 = Math.abs( r1 - r2 );double L2 = r1 + r2;if(length <= L1)System.out.println("circle2 is in circle1!");else if(length <= L2)System.out.println("circle2 overlaps circle1!");elseSystem.out.println("circle2 does not overlap circle1");第四章4.25public class Exe4_25 public static void main(String args)double PI = 0,sum = 0;int i, n;for( i = 10000; i <= 100000; i += 10000 )for( n = 1; n < i; n += 2 )sum += (1.0/(2*n-1) - 1.0/(2*n+1);PI = 4 * sum;System.out.println("i = " + i + " and 兀 = " + PI );sum = 0;4.41import java.util.Scanner;public class Exe4_41 public static void main(String args)System.out.println("Enter numbers : ");Scanner input = new Scanner(System.in);int integer,max,count;integer = input.nextInt();max = integer;count = 1;while(integer != 0)integer = input.nextInt();if(integer > max)max = integer;count = 1;else if(integer < max)elsecount+=1;System.out.println("The largest number is " + max);System.out.println("The occurence count of the largest number is " + count);第五章5.21import java.util.Scanner;public class Exe5_21 public static void main(String args)Scanner input = new Scanner(System.in);double ary = new double10;System.out.println("Enter ten numbers : ");for (int i = 0; i < ary.length; i+ )aryi = input.nextDouble();double sum = 0, sum_pow = 0;for (int i = 0; i < ary.length; i+)sum += aryi;for (int i = 0; i < ary.length; i+)sum_pow += aryi*aryi;double mean = sum/ary.length;double standard_value = Math.sqrt(sum_pow - sum*sum/ary.length) / (ary.length - 1.0) );System.out.println("The mean is " + mean);System.out.println("The standard deviation is " + standard_value);第六章6.18import java.util.Scanner;public class Exe6_18 public static void main (String args) System.out.print("Enter ten real number : "); double array = new double10; Input(array); Sort(array); Output(array); /输入 public static void Input(doubleary) Scanner input = new Scanner(System.in); for(int i = 0; i < ary.length; i+) aryi = input.nextDouble(); /输出 public static void Output(doubleary) for(int i = 0; i < ary.length; i+) System.out.print(" " + aryi); /冒泡排序 public static void Sort(doubleary) int n = 0;boolean work = true; double temp = 0; for(int i = 1; i < ary.length; i+) work = true; for( n = 0; n < ary.length-i; n+) if (aryn > aryn+1) temp = aryn; aryn = aryn+1; aryn+1 = temp; work = false; if(work) break; 第七章7.6import java.util.Scanner;public class Exe7_6 final static int R = 3;final static int L = 3; public static void main(Stringargs) double matrix1 = new doubleLR; double matrix2 = new doubleLR; System.out.println("Enter matrix1 : "); Input(matrix1); System.out.println("Enter matrix2 : "); Input(matrix2); Output(matrix1,matrix2,multiplyMatrix(matrix1,matrix2); /输入 public static void Input(doublematrix) Scanner input = new Scanner(System.in); for(int line = 0; line < L; line+) for(int row = 0; row < R; row+) matrixlinerow = input.nextDouble(); /输出 public static void Output(double a, double b,doublematrix) int n = 0; for(int i = 0; i < L; i+ ) if( i != 1) for( n = 0; n < R; n+) System.out.print(" " + ain); System.out.print(" "); for( n = 0; n < R; n+) System.out.print(" " + bin); System.out.print(" "); for( n = 0; n < R; n+) System.out.print(" " + matrixin); else for( n = 0; n < R; n+) System.out.print(" " + ain); System.out.print(" *"); for( n = 0; n < R; n+) System.out.print(" " + bin); System.out.print(" ="); for( n = 0; n < R; n+) System.out.print(" " + matrixin); System.out.println(); /矩阵相乘 public static double multiplyMatrix(double a, double b) double c = new doubleLR; for(int i = 0; i < L; i+) for(int j = 0; j < R; j+) cij = 0; for(int k = 0; k < R; k+) cij += aik*bkj; /cij = ai0*b0j + ai1*b1j + ai2*b2j; return c; 第八章8.12import java.util.Scanner;public class Exe8_12public static void main(String args)Scanner input = new Scanner(System.in);System.out.print("Enter the endpoints of the first line segment : "); double x1=input.nextDouble(); double y1=input.nextDouble(); double x2=input.nextDouble(); double y2=input.nextDouble(); System.out.print("Enter the endpoints of the second line segment : "); double x3=input.nextDouble(); double y3=input.nextDouble(); double x4=input.nextDouble(); double y4=input.nextDouble(); double a,b,c,d,e,f; a=y2-y1; b=x1-x2; c=y4-y3; d=x3-x4; e=(y2-y1)*x1+(x1-x2)*y1; f=(y4-y3)*x3+(x3-x4)*y3; LinearEquation inter=new LinearEquation(a,b,c,d,e,f); if(inter.isSolvable() System.out.print("The intersecting point is:"+inter.getX()+","+inter.getY(); else System.out.print("NULL"); class LinearEquationprivate double a;private double b;private double c;private double d;private double e;private double f;public LinearEquation(double a,double b,double c,double d,double e,double f)this.a = a;this.b = b;this.c = c;this.d = d;this.e = e;this.f = f;boolean isSolvable()if (a * d - b * c != 0)return true;elsereturn false;double getX() return (e * d - b * f) / (a * d - b * c); double getY() return (a * f - e * c) / (a * d - b * c); 8.13import java.util.Scanner;public class Exe8_13 public static void main(String args) Scanner input = new Scanner(System.in); System.out.println("Enter the number of rows and columns of the array : "); int row = input.nextInt(); int column = input.nextInt(); double array = new doublerowcolumn; System.out.println("Enter the array : "); for(int i = 0; i < row; i+) for(int n = 0; n < column; n+) arrayin = input.nextDouble(); System.out.println("The location of the largest element is " + locateLargest(array).maxValue + " at (" + locateLargest(array).row + "," + locateLargest(array).column + ")"); public static Location locateLargest(double a)double maxNumber=a00;int row=0,column=0;for(int i=0;i<a.length;i+)for(int j=0;j<a0.length;j+)if(aij>maxNumber)maxNumber=aij;row=i;column=j;return new Location(row,column,maxNumber);class LocationLocation(int row,int column,double maxValue)this.row=row;this.column=column;this.maxValue=maxValue;public int row,column;public double maxValue;