当前位置:文档之家› java上机实验

java上机实验

一、实验内容描述(问题域描述)实验目的:熟悉JDK的安装、配置和使用,掌握Java Application程序的基本结构。

实验内容:(1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量;(2)编写一个打印出”HelloWorld”的Java Application程序,并编译运行二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)一. 实验内容描述(问题域描述):熟悉Java的各种类型、掌握java的变量定义及表达式的运算等。

实验内容:(1)编写一个程序计算长方形的面积和周长。

长方形的宽和高要求从键盘输入。

(2)尝试使用Math类提供的随机数生成方法,产生一个1~100的随机整数并输出。

import java.util.Scanner;public class Juxing {public static void main(String[] args) {// TODO Auto-generated method stubint s=0,l=0;Scanner sc= new Scanner(System.in);System.out.println("请输入长h,回车换行");int h=sc.nextInt();System.out.println("请输入宽w,回车换行");int w=sc.nextInt();s=h*w;l=2*(h+w);System.out.println("长方形面积为s="+s);System.out.println("长方形周长为l="+l);}}2.public class shuzi {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.print((int)(Math.random()*100));}一.实验内容描述(问题域描述)。

熟练掌握java的各种流程控制实验内容:(1) 编写一个程序实现将任意一个大于6的偶数表示成两个素数之和。

(2) 编写一个程序实现输出任意四个数的中位数。

例如:四个数3、4、5、6的中位数为4.5,10、20、35、36的中位数27.5.(1)素数之和package chap01;import java.util.Scanner;public class TestGeDeBaHeGuess {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubTestGeDeBaHeGuess test=new TestGeDeBaHeGuess();System.out.println("输入大于6的偶数");test.Guess06();System.out.println();}public void Guess06(){TestGeDeBaHeGuess test=new TestGeDeBaHeGuess();Scanner reader=new Scanner(System.in);int i=reader.nextInt();//i用于判断if((i<6)||(i%2!=0)){System.out.println("参数错误!");}//for(int j=3;j<i;j++){//列出所有结果for(int j=3;j<i/2;j++){ //i/2列出不重复的结果if(test.Prime(j)&&(i-j)>2&&test.Prime(i-j))//判断是否为质数{System.out.print(j+"+"+(i-j)+"="+i+" ");}}}public boolean Prime(int t){for(int i=2;i<t;i++){if(t%i==0){return false;}}return true;}}(2)package test;import java.util.Scanner;public class test {/*** @param args*/public static int min1(int a[],int m){int i,s = 0,min;min=a[m];for(i=m;i<=3;i++){if(a[i]<=min) min=a[i];s=i;}return(s);}public static void main(String[]args){int i,t;double x,s;int array[]=new int[4];System.out.println("请任意输入四个整数");Scanner sc=new Scanner(System.in);for(i=0;i<4;i++){array[i]=sc.nextInt();}for(i=0;i<1;i++){s=min1(array,i);t= array[(int) s];array[(int) s]=array[i];array[i]=t;}x=array[1]+array[2];x=x/2;System.out.println("输入的四个整数的中位数为:"+x);}}实验内容描述(问题域描述)熟练掌握java的一维、多维数组的使用。

实验内容:(1)编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出。

(2)编程输出杨辉三角的前10行。

(3) 找出一个二维数组的鞍点,即该位置上的元素在该行上最大,在该列上最小(注:一个二维数组也可能没有这样的鞍点)。

(1)import java.io.*;public class sjsz {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubint a[][]=new int[10][10];int b[]=new int[10];int c[]=new int[10];int d;int i,j;for(i=0;i<10;i++)for(j=0;j<=i;j++)a[i][j]=(int)(Math.random()*100);for(i=0;i<10;i++){d=a[i][0];for(j=0;j<=i;j++)if(a[i][j]>d)d=a[i][j];b[i]=d;}for(i=0;i<10;i++)System.out.print(b[i]+" ");System.out.println();for(i=0;i<10;i++){d=0;for(j=0;j<10;j++)d=d+a[j][i];c[i]=d/10;}for(i=0;i<10;i++)System.out.print(c[i]+" ");System.out.println();}}(2)public class yanghui {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubfinal int ROW = 10;int a[][] = new int[ROW + 1][];for (int i = 0; i <= ROW; i++) {a[i] = new int[i + 1]; // 指定每行的列数}yanghui(a, ROW);}static void yanghui(int a[][], int ROW) {for (int i = 0; i <= ROW; i++)for (int j = 0; j <= a[i].length - 1; j++) {if (i == 0 || j == 0 || j == a[i].length - 1)a[i][j] = 1;elsea[i][j] = a[i - 1][j - 1] + a[i - 1][j];}for (int i = 0; i <= ROW; i++) {for (int j = 0; j <= a[i].length - 1; j++)System.out.print(a[i][j] + "\t");System.out.println();}}}(3)import java.util.Scanner;public class andian {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubint n=0;int m=0;Scanner reader=new Scanner(System.in);System.out.println("请输入数组的行数:");m=reader.nextInt();System.out.println("请输入数组的列数:");n=reader.nextInt();int[][] array=new int[m][n];System.out.println("请输入数组的元素:");for(int i=0;i<m;i++)for(int j=0;j<n;j++)array[i][j]=reader.nextInt(); }int[] maxArray=new int[m];int[] minArray=new int[n];int max=0,min=0;for(int i=0;i<m;i++){max=array[i][0];for(int j=0;j<n;j++){if(array[i][j]>max){max=array[i][j];maxArray[i]=j;}}}for(int j=0;j<n;j++){min=array[0][j];for(int i=0;i<m;i++){if(array[i][j]<min){min=array[i][j];minArray[j]=i;}}}for(int i=0;i<m;i++){if(array[i][maxArray[i]]==array[minArray[maxArray[i]]][maxArray[i]]) {System.out.println("鞍点是:");System.out.println("["+i+","+maxArray[i]+"]"+":"+array[i][maxArray[i] ]);}}}}一、实验内容描述(问题域描述)编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

相关主题