数组编程基础题(一)

 

1.判断数组的长度是length这个属性还是length()这个方法? String有没有length()这个方法。

数组的长度通常是使用 length 这个属性来获取的,对于String类型,有 length()这个方法来获取字符串的长度。

2.面试题目:创建一个长度为6的int型一维数组,要求取值为1-30,同时要求元素值各不相同(提示可以使用Random来随机给数组赋值)

import java.util.Random;

public class ArrayExample {
    public static void main(String[] args) {
        int[] intArray = new int[6];
        Random random = new Random();
        for (int i = 0; i < intArray.length; i++) {
            intArray[i] = random.nextInt(30) + 1; 
        }
    }
}

3.下面数组定义正确的有:

A.String strs[] = { ‘a’ ‘b’ ‘c’};

B.String[] strs = {“a”, “b”, “c”};

C.String[] strs = new String{“a” ”b” ”c”};

D.String strs[] = new String[]{“a”, “b”, “c”};

E.String[] strs = new String[3]{“a”, “b”, “c”};

正确的有:B、D

4.创建一个char类型的36个元素的数组,前26个元素放置'A'-'Z', 后10个元素放置'0'-'9'。

使用for循环访问所有元素并打印出来。

提示:char类型数据运算 'A'+1 -> 'B','0'+1 -> '1'

char[] charArray = new char[36];
for (int i = 0; i < 26; i++) {
    charArray[i] = (char) ('A' + i);
}
for (int i = 26; i < 36; i++) {
    charArray[i] = (char) ('0' + (i - 26)); 
}
for (char c : charArray) {
    System.out.print(c + " "); 
}

5.将一个给定的整型数组转置输出, 例如: 源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1

class Demo{
public static void main(String[] args){
int[] sourceArr = {1, 2, 3, 4, 5, 6};
int[] transposedArr = new int[sourceArr.length];
for (int i = 0; i < sourceArr.length; i++) { 
    transposedArr[i] = sourceArr[sourceArr.length - 1 - i]; 
}

6.现在给出两个数组: 数组a:"1,7,9,11,13,15,17,19" 数组b:"2,4,6,8,10" 两个数组合并为数组c。

class Demo{
public static void main(String[] args){
int[] arrayA = {1, 7, 9, 11, 13, 15, 17, 19};
int[] arrayB = {2, 4, 6, 8, 10};
int[] arrayC = new int[arrayA.length + arrayB.length];
System.arraycopy(arrayA, 0, arrayC, 0, arrayA.length); 
System.arraycopy(arrayB, 0, arrayC, arrayA.length, arrayB.length); 

7.B哥去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高一个最低)求平均分是多少?

int[] scores = {
int highestScore = Integer.MIN_VALUE; 
int lowestScore = Integer.MAX_VALUE; 
for (int score : scores) { 
    highestScore = Math.max(highestScore, score); 
    lowestScore = Math.min(lowestScore, score); 
}
double averageScore = (double) (Arrays.stream(scores).sum() - highestScore - lowestScore) / (scores.length - 2);
System.out.println("B哥的平均分是:" + averageScore); 

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值