java作业题,都在这里了,希望你帮忙解答下
1). 定义了一维int型数组a[10]后,下面错误的引用是__
A.a[0]=1; B.a[10]=2; C.a[0]=5*2; D.a[1]=a[2]*a[0];
2). 引用数组元素时,数组下标可以是____
A.整型常量 B.整型变量 C.整型表达式 D.以上均可
3). 已知:int[]a =newint[10];下列语句会造成数组越界是
A.a[0]+=9; B.a[9]=10; C.—a[9] D.for(int i=0;i<=10;i++) a[i]++;
2.下面的哪些语句是合法的数组声明?不正确,请在各题后面改正。
1) int i=new int(30);
2) double d[]= newdouble[30];
3) char[] r=new char(1..30);
4) int i[] =(3,4,5,6);
5) float f[] ={2.3,3.5,6.6};
6) char[] c=new char();
3.数组下标的类型是什么?最小的下标是什么?如何表示数组名为a的第三个元素?
答:
4.编写语句完成:
1)创建一个含有10个double值的数组;
2)将5.5赋值给1)所创建的数组中的最后一个元素;
3)求数组前两个元素的和;
答:1)
2)
3)
5.确定并更正下面程序中的错误:
public class Test{
public static method1(int n,m) {
n+=m;
method2(3.4);
}
public static int method2(int n) {
if(n>0) return 1;
else if( n==0) return 0;
else if( n< 0) return -1;
}
}
改正:
6.写出下列方法的方法头(而不是方法体)
1)给定销售额和提成率,计算销售提成
2)给定月份和年份,打印该月的月历
3)计算一个数的平方根
4)测试一个数是否是偶数,是则返回true,否则返回false
5)按指定次数打印某条消息
6)给定贷款额、还款年限和年利率,计算月支付额
7)对于给定的小写字母,给出相应的大写字母
8)给定年份和月份,返回该月的天数
编程题(提示:要求用数组与方法打出代码,并且能在eclipse上面调试成功)
1)编写程序,从键盘输入10个同学的成绩,并且判断有多少个分数是大于或等于平均分的,有多少个成绩是低于平均分的。
2)在歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。输入每个评委的评分,求某选手的得分。
3)编写方法,可求一组数中的最大值,并测试该方法
4)编写两个重载的方法,使用下面的方法头返回一个数组的平均数:
publicstatic int average( int[] array)
publicstatic double average( double[] array)
编写测试程序,调用这2个方法,分别求10个double型值和5个int型值的平均值。
5)如果两个数组list1和list2的长度相同,而且对于每个数组下标i,list1[i] 都等于list2[i],那么认为list1[i]和list2[i]是完全相同的数组。使用下面的方法头编写一个方法,如果list1和list2相同,那么这个方法返回true:
public static boolean equal(int[] list1 ,int[] list2)
编写测试程序,提示用户输入两个整数数列,然后显示这两个数列是否完全相同。 展开
1选择题
1,B
2.D
3.D
2.int i = 30;
double d[] = new double[30];
char[] r = new char[30];
int[] i = {3,4,5,6};
float f[] ={2.3F,3.5F,6.6F};
char[] c = new char[3];
3. int类型,最小为0,a[2]
4. double[] d = new double[10];
d[9] = 5.5D;
double result = d[0] + d[1];
5. public static void method1(int n, int m) {
n += m;
method2((int) 3.4);
}
public static int method2(int n) {
if (n > 0)
return 1;
else if (n == 0)
return 0;
else
return -1;
}
6.
public double getPromotion(double amount, double percent)
public void print(int year, int month)
public double sqrt(double d)
public boolean isOdd(int i);
public void printMsg(int times);
public double getLoanMonthlyPayment(double totalMoney, int loanYears, double interest);
public Char toUpperCase(char c);
public static void question1() {
Scanner scanner = new Scanner(System.in);
double[] scores = new double[10];
int i = 0;
double totalScore = 0;
while (i < 10) {
double d = scanner.nextDouble();
scores[i] = d;
i++;
totalScore += d;
}
double avgScore = totalScore / 10;
Arrays.sort(scores);
int index = Arrays.binarySearch(scores, avgScore);
System.out.println("低于平均成绩的" + (index));
System.out.println("高于平局成绩的" + (10 - index));
scanner.close();
}
public static void question2() {
double[] scores = { 10.0, 9.0, 8.0, 10.0, 7.0, 10.0, 9.0, 8.0, 10.0, 7.0 };
Arrays.sort(scores);
double[] newScores = new double[8];
for (int i = 1; i < scores.length - 2; i++) {
newScores[i - 1] = scores[i];
}
double totalScore = 0;
for (int i = 0; i < newScores.length; i++) {
totalScore += newScores[i];
}
System.out.println("得分是" + totalScore);
}
public static void question3() {
double[] d = new double[] { 1, 2, 3, 4, 5 };
double min = Double.MAX_VALUE;
double max = Double.MIN_VALUE;
for (int i = 0; i < d.length; i++) {
if (min > d[i]) {
min = d[i];
}
if (max < d[i]) {
max = d[i];
}
}
System.out.println("最大值" + max);
System.out.println("最小值" + min);
}
public static int average(int[] array) {
int total = 0;
for (int i = 0; i < array.length; i++) {
total += array[i];
}
return total / array.length;
}
public static double average(double[] array) {
double total = 0;
for (int i = 0; i < array.length; i++) {
total += array[i];
}
return total / array.length;
}
public boolean equals(int[] list1, int[] list2) {
if (list1 == null) {
return false;
}
if (list2 == null) {
return false;
}
if (list1.length != list2.length) {
return false;
}
for (int i = 0; i < list1.length; i++) {
if (list1[i] != list2[i]) {
return false;
}
}
return true;
}