A. java 数组题
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[] args) {
String[] arr = new String[]{"itcast","itheima","t","weixin","fubao"};
String str = "it";
String[] result = filter(arr,str);
System.out.println(Arrays.toString(result));
}
public static String[] filter(String[] arr,String str){
List<String> list = new ArrayList<>();
for(int i = 0; i < arr.length; i++){
if(arr[i].contains(str)){
list.add(arr[i]);
}
}
String[] result = new String[list.size()];
list.toArray(result);
return result;
}
}
B. 一道java数组习题求助!!!!
先算出长度,再填。
import java.util.Arrays;
public class Test{
public static void main(String[] args){
int a[][]={
{17,23,1,5},
{8,9},
{34,35,56}
};
int b[]=new int[a.length+a[0].length+a[1].length+a[2].length];
int offset=0;
for(int e[]:a){
b[offset++]=e.length;
System.array(e, 0, b, offset, e.length);
offset+=e.length;
}
System.out.println(Arrays.toString(b));
}
}
=====
[4, 17, 23, 1, 5, 2, 8, 9, 3, 34, 35, 56]
C. java数组题
参考代码
classStudent{
privateStringname;
privateStringage;
publicStudent(){//构造方法
}
publicStudent(Stringname,Stringage){//有参构造方法
this.name=name;
this.age=age;
}
publicStringtoString(){
return"Student[name="+name+",age="+age+"]";
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetAge(){
returnage;
}
publicvoidsetAge(Stringage){
this.age=age;
}
}
publicclassTest{
publicstaticvoidmain(String[]args){
Student[]ss=newStudent[3];
Stringinfo="Tom#15,jack#16,Dava#20";
String[]temp=info.trim().split(",");//用逗号切割成3段
for(inti=0;i<temp.length;i++){
String[]s1=temp[i].split("#");//用#切割成2部分
Stringname=s1[0];
Stringage=s1[1];
ss[i]=newStudent(name,age);//创建对象并存入学生数组
}
for(Students:ss){//遍历打印
System.out.println(s);
}
}
}
测试
Student[name=Tom,age=15]
Student[name=jack,age=16]
Student[name=Dava,age=20]
D. Java数组的一些题目求解谢谢
D 数组中存储的数据类型需一致;
C 根据定义数组的类型为int(整型),因此表示数组中有100个整数;
B 访问数组元素是从0开始访问,因此在数组a[10]中最后一个元素为a[9];
对于数组a,可以使用a.length表示数组的长度,即数组的元素个数。
E. JAVA数组编程题
publicstaticvoidmain(String[]args){
int[]arr=newint[10];
intlength=arr.length;
for(inti=0;i<length;i++){
arr[i]=(int)(100*Math.random());
if(i==0){
arr[i]=100;
}elseif(i==length-1){
arr[i]=200;
}
}
for(inti:arr){
System.out.println(i);
}
}
F. java数组题
package com.linc.;
import java.util.Random;
import java.util.Scanner;
/**
* 数组转置
*
* @author Lin.C
* @date 2020/6/7 13:48
*/
public class Answer001 {
/**
* Main
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Please enter m:");
int m = Integer.parseInt(sc.next());
System.out.println("Please enter n:");
int n = Integer.parseInt(sc.next());
printMatrix(m, n);
}
/**
* 输入整数m,n
* 1. 建立一个拥有m行,n列的矩阵a, 矩阵a中元素的值为随机产生的100以内的整数;输出矩阵a
* 2. 并输出经过转置后的具有n行m列的矩阵b.
* @param m
* @param n
*/
private static void printMatrix(int m, int n) {
System.out.println("-------原数组--------");
Random random = new Random();
int a[][] = new int[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
a[i][j] = random.nextInt(100);
System.out.print(a[i][j] + " ");
}
System.out.println();
}
int b[][] = new int[n][m];
System.out.println("-------转置后--------");
for (int j = 0; j < n; j++) {
for (int i = 0; i < m; i++) {
b[j][i] = a[i][j];
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}
【运行结果】:
Please enter m:
3
Please enter n:
4
-------原数组--------
38 9 6 36
39 31 34 26
67 26 70 82
-------转置后--------
38 39 67
9 31 26
6 34 70
36 26 82
G. Java数组,下列习题,高手能给下代码吗
你好,算法代码如下:
publicclassTestArray{
/**
*定义一个可以存放五个人的三门课程成绩的二维数组,数组名为scores,并赋初值(即学生的成绩)。
*(1)输出五个人的成绩(每个人占一行)
*(2)另定义一个数组avg,用来存放五个人的平均成绩,计算出平均成绩并输出。
*(3)求出每门课程的平均成绩
*(4)求出每门课程的最高分
*/
publicstaticvoidmain(String[]args){
double[][]scores=newdouble[5][3];//定义数组
scores[0][0]=65;scores[0][1]=75;scores[0][2]=85;//第一个学生的成绩
scores[1][0]=66.5;scores[1][1]=83;scores[1][2]=80.5;//第二个学生的成绩
scores[2][0]=94;scores[2][1]=68.5;scores[2][2]=69;//第三个学生的成绩
scores[3][0]=86;scores[3][1]=72.5;scores[3][2]=95;//第四个学生的成绩
scores[4][0]=79;scores[4][1]=88;scores[4][2]=74;//第五个学生的成绩
//(1)输出五个人的成绩(每个人占一行)
for(inti=0;i<5;i++){
System.out.print("第"+(i+1)+"个人的三门成绩是:");
for(intj=0;j<3;j++){
System.out.print(scores[i][j]+"");
}
System.out.println();
}
//(2)另定义一个数组avg,用来存放五个人的平均成绩,计算出平均成绩并输出。
double[]avg=newdouble[5];
for(inti=0;i<5;i++){
avg[i]=(scores[i][0]+scores[i][1]+scores[i][2])/3;
System.out.println("第"+(i+1)+"个人的平均成绩是:"+avg[i]);
}
//(3)求出每门课程的平均成绩
double[]avgScore=newdouble[3];
for(inti=0;i<3;i++){
avgScore[i]=(scores[0][i]+scores[1][i]+scores[2][i]+scores[3][i]+scores[4][i])/5;
System.out.println("第"+(i+1)+"科的平均成绩是:"+avgScore[i]);
}
//(4)求出每门课程的最高分
double[]highScore={0,0,0};
for(inti=0;i<3;i++){
for(intj=0;j<5;j++){
if(highScore[i]<scores[j][i]){
highScore[i]=scores[j][i];
}
}
System.out.println("第"+(i+1)+"科的最高成绩是:"+highScore[i]);
}
}
}
运行结果:
第1个人的三门成绩是: 65.0 75.0 85.0
第2个人的三门成绩是: 66.5 83.0 80.5
第3个人的三门成绩是: 94.0 68.5 69.0
第4个人的三门成绩是: 86.0 72.5 95.0
第5个人的三门成绩是: 79.0 88.0 74.0
第1个人的平均成绩是:75.0
第2个人的平均成绩是:76.66666666666667
第3个人的平均成绩是:77.16666666666667
第4个人的平均成绩是:84.5
第5个人的平均成绩是:80.33333333333333
第1科的平均成绩是:78.1
第2科的平均成绩是:77.4
第3科的平均成绩是:80.7
第1科的最高成绩是:94.0
第2科的最高成绩是:88.0
第3科的最高成绩是:95.0