java经典编程题二及详细答案 联系客服

发布时间 : 星期四 文章java经典编程题二及详细答案更新完毕开始阅读04fad62c647d27284b735173

l 求第3行的元素之和; l 求第2列的最小元素; l 求主对角线上最大元素; l 求数组所有元素之和。

4)利用随机函数产生36个10~30之间的整数给一个6*6的矩阵赋值.

? 求最大元素值,指出其在矩阵中的所有出现位置; ? 求该矩阵的转置矩阵。

5)利用数组元素间的关系输出含8行的杨辉三角形; 杨辉三角形特点:

(1)第1列元素为1,对角线元素为1;

(2)其他元素均为前一行的同一列位置元素和前一行的前一列元素之和。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1

? 提高题

1)产生20个范围为0~50之间的不重复随机整数存入到一个数组中,将数组中元素按由小到大输出,并求数组所有元素的平均值。

【提示】每产生一个整数要跟前面已产生的数进行比较,如果已存在,则不算,要重新产生,可以用一个循环来控制产生一个新数,只有产生的数未出现过,才能出循环。

2)利用随机函数产生36个随机整数给一个6*6的二维数组赋值。求出所有鞍点,鞍点的条件是该元素在所在行是最大值,在所在列是最小值。

【提示】 先找出行上最大的元素,然后在判断该元素在所在的列上是否是最小的。

3)利用排序算法将一数组按由小到大排列,输入一个数据,查找在数组中是否存在,采用“折半查找”加快查找速度。

所谓“折半查找”就是先与中间位置元素进行比较,如果小于中间位置的元素,则在其上半部的中间位置继续查找,否则在下半部的中间位置查找,该过程反复进行,直到找到或发现不存在为止。

4) 构造一个n阶方阵,方阵的大小从键盘输入,方阵的最外一圈元素为1,以后往内依次为2,3,....n。例如:

1 1 1 1 1 1 2 2 2 1

1 2 3 2 1 1 2 2 2 1 1 1 1 1 1

详细答案如下:

实验2.1

? 基本题

1)System.out.println(\输出结果是 hello \ System.out.println(\输出结果是hello‘ est’ 2)int a=234; byte b=a;在这种情况下,由于a是int型,b是byte型而int的级别比byte高,故b不能被赋值,若要赋值必需利用强制转换如:byte b=(byte)a; 当a的取值在其范围-128~127内时强制转换不会丢失数据,否则就会丢失数据。

通过各种数据类型的转换可知:当两个数据类型相同或将低级类型数据赋给高级类型时可以直接赋值;由于byte、short、char是平级的不能自动转换,必需使用强制转换,另外由高级到低级时就要用到强制转换;布尔类型不能与其他类型进行转换;在强制转换中,当某一数据超出它所声明的类型的长度范围就会导致溢出或者降低数据精度而丢失数据。 3)程序如下:

import java.text.DecimalFormat; public class Area {

public static void main(String args[]) {

int R=10; String S;

DecimalFormat a= new DecimalFormat(\ S=a.format(Math.PI*R*R);

System.out.println (\圆的面积为: \ } }

结果截图:

? 提高题

1)程序如下: public class Area {

public static void main(String s[]) {

double a1; double a2; double area;

a1=225*Math.sqrt(3); a2=Math.PI*75; area=a1-a2;

System.out.println(\三角形的面积为:\ System.out.println(\内切圆的面积为:\ System.out.print(\余下部分的面积为:\ System.out.print(area); } } 结果截图:

2)调试结果如下:

实验2.2

? 基本题

1)程序如下: import java.io.*; public class MyDemo {

public static void main(String[] args) throws NumberFormatException, IOException {

float[] score=new float[4];

BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); for(int i=0;i

System.out.println(\请输入第\个成绩:\ score[i]=Float.parseFloat(in.readLine()); }

float min=32768; float max=0;

for(int i=0;imax){ max=score[i]; }

if(score[i]

System.out.println(\最高分:\最低分:\ } }

结果截图:

2)程序如下:

import java.util.*; public class GradeRank {

public static void main(String str[]) { Scanner scanner = new Scanner(System.in); System.out.print(\ double grade = scanner.nextInt(); if (grade >= 90) {