请教数组问题 17.设有整型数组的定义:int a[ ]=new int[8]; ,则a.length的值为.(8) 不是9个么?int[] c1=int[10]; 这个说是11个元素。 还有怎么定义三维数组?有这样一个程序,一个班20人,每人3科成绩 数语外 然后求每个人的平均分 单科平均分全班的单科平均分不会了,哪位的好心教教我啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String[] args) { int[] a = new int[8]; int[] c1 = new int[10]; System.out.println(a.length); //结果为8 System.out.println(c1.length); //结果为10}java 中数组的索引从0开始,也就是从0到length-1个元素,也就是说第一个元素是a[0],最后一个元素是a[a.length-1] 1.int a[ ]=new int[8]; 是定义一个包含8个数的数组2.int[] c1=int[10]; 好像有语法错误啊,但int[10]是指将数组的第11个数 int a[]=new int[8];a.length的值为8,a有8个元素,分别是a[0],a[1]...a[7]求平均分,2维数组就够用了用for循环根据需要取数组元素计算平均值 17.设有整型数组的定义:int a[ ]=new int[8]; ,则a.length的值为.(8) 不是9个么? --------------------------按照语法,这里写的数值是数组的长度,也就是长度是8.int[] c1=int[10]; 这个说是11个元素。 -----------------------所以这个长度是10,数组的下标是0-9还有怎么定义三维数组? ----------------int[][][] m; 这个就是三维数组的定义有这样一个程序,一个班20人,每人3科成绩 数语外 然后求每个人的平均分 单科平均分 全班的单科平均分 不会了,哪位的好心教教我啊。---------------------------这个存储班级20个人三科的得分只需要一个二维数组即可int[][] score = new int[20][3];//赋值//计算 牺牲我中午睡觉的时间帮你写...呵呵/** * project_name: Test * package_name: netsource * package_declaration: package netsource; * filename: AverageCount.java * author: yuhaiming * date: 2007-11-12 */package netsource;import java.io.*;public class AverageCount { public static void disposal(){ int[][] students = new int[20][3]; init(students); float[] everyOneAverage = getEveryOneAverage(students); System.out.println("每个人的平均分:"); displayResult(everyOneAverage,"人"); System.out.println("每个人的单科平均分:"); displayResultTotal(students); System.out.println("全班单科的平均分:"); float[] courseAverage = getCourseAverage(students); displayResult(courseAverage,"科"); } /** * 得到单科平均分 * @param students * @return */ public static float[] getCourseAverage(int[][] students){ float[] courseAverage = new float[students[0].length]; for(int i=0;i<students[0].length;i++){ int curtotal = 0; for(int j=0;j<students.length;j++){ curtotal += students[j][i]; } courseAverage[i] = curtotal/students.length; } return courseAverage; } /** * 得到全班每一个人的平均分 * @param students * @return */ public static float[] getEveryOneAverage(int[][] students){ float[] everyOneAverage = new float[students.length]; for(int i=0;i<students.length;i++){ everyOneAverage[i] = (students[i][0]+ students[i][1]+ students[i][2])/3; } return everyOneAverage; } /** * 初始化所有分数 * @param students */ public static void init(int[][] students){ int cur = 0; for(int i=0;i<students.length;i++){ for(int j=0;j<students[0].length;j++){ //随机生成一个分数 cur = (int)(Math.random()*100); //System.out.print(cur+" "); students[i][j] = cur; } } } public static void displayResult(float[] a,String str){ if(a.length>0){ for(int i=0;i<a.length;i++){ System.out.print("第"+(i+1)+str+"的平均分是:"+a[i]+" "); } System.out.println(); } } public static void displayResultTotal(int[][] students){ for(int i=0;i<students.length;i++){ System.out.println("第"+i+"个人的单科平均分分别是:"+students[i][0]+" "+students[i][1]+" "+students[i][2]+" "); } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub disposal(); }} 6楼的大大,你的代码我在 ide 里包的引入怎么也没弄好。在cmd下能正确编译,但是执行有错。关于 main函数出错了。我再好好看你的代码, 你在CMD下编绎时把package netsource;去掉,就OK了! 去掉包名 编译时出现 只有显式请求注释处理时才接受类名 AverageCount 这样的返回错误 int[] c1=int[10];//这里的10就是数组的长度.int[][][]c1;//三维数组定义 我是刚开始学。在 MyEclipse 5.5 GA中,不去掉包名就报查不到包。去掉包名说是接受不到AverageCount这个类。虽然,我刚开始学,但是多少还明白一点的。 我的文件以AverageCount。java命名 http://lh5.google.com/5602159487mm/RzlGFAq75_I/AAAAAAAAAEQ/aXStDqf-CKg/1.png图片是去掉了包引用cmd的编译错误。 菜鸟请教一个问题 swing 显示不正常 命令行下不能执行程序 Date 类如何使用? 一个查询语句 关于linux下运行eclipse的问题 怎么往表格中添数据?? java 开发工具 NetBeans 、IntelliJ IDEA 、JBuilder 的比较 使用FtpClient时怎么定义端口号? 简单C语言程序。 读服务器某个文件夹中文件的问题(要按名称或更新时间排序) 如何,把SQL文中的表名提取出来
int[] a = new int[8];
int[] c1 = new int[10];
System.out.println(a.length); //结果为8
System.out.println(c1.length); //结果为10}java 中数组的索引从0开始,也就是从0到length-1个元素,也就是说第一个元素是a[0],最后一个元素是a[a.length-1]
2.int[] c1=int[10]; 好像有语法错误啊,但int[10]是指将数组的第11个数
a.length的值为8,a有8个元素,分别是a[0],a[1]...a[7]求平均分,2维数组就够用了
用for循环根据需要取数组元素计算平均值
--------------------------
按照语法,这里写的数值是数组的长度,也就是长度是8.int[] c1=int[10]; 这个说是11个元素。 -----------------------
所以这个长度是10,数组的下标是0-9
还有怎么定义三维数组? ----------------
int[][][] m; 这个就是三维数组的定义有这样一个程序,一个班20人,每人3科成绩 数语外 然后求每个人的平均分 单科平均分 全班的单科平均分 不会了,哪位的好心教教我啊。
---------------------------
这个存储班级20个人三科的得分只需要一个二维数组即可
int[][] score = new int[20][3];//赋值//计算
* project_name: Test
* package_name: netsource
* package_declaration: package netsource;
* filename: AverageCount.java
* author: yuhaiming
* date: 2007-11-12
*/
package netsource;
import java.io.*;
public class AverageCount {
public static void disposal(){
int[][] students = new int[20][3];
init(students);
float[] everyOneAverage = getEveryOneAverage(students);
System.out.println("每个人的平均分:");
displayResult(everyOneAverage,"人");
System.out.println("每个人的单科平均分:");
displayResultTotal(students);
System.out.println("全班单科的平均分:");
float[] courseAverage = getCourseAverage(students);
displayResult(courseAverage,"科");
}
/**
* 得到单科平均分
* @param students
* @return
*/
public static float[] getCourseAverage(int[][] students){
float[] courseAverage = new float[students[0].length];
for(int i=0;i<students[0].length;i++){
int curtotal = 0;
for(int j=0;j<students.length;j++){
curtotal += students[j][i];
}
courseAverage[i] = curtotal/students.length;
}
return courseAverage;
}
/**
* 得到全班每一个人的平均分
* @param students
* @return
*/
public static float[] getEveryOneAverage(int[][] students){
float[] everyOneAverage = new float[students.length];
for(int i=0;i<students.length;i++){
everyOneAverage[i] = (students[i][0]+ students[i][1]+ students[i][2])/3;
}
return everyOneAverage;
}
/**
* 初始化所有分数
* @param students
*/
public static void init(int[][] students){
int cur = 0;
for(int i=0;i<students.length;i++){
for(int j=0;j<students[0].length;j++){
//随机生成一个分数
cur = (int)(Math.random()*100);
//System.out.print(cur+" ");
students[i][j] = cur;
}
}
}
public static void displayResult(float[] a,String str){
if(a.length>0){
for(int i=0;i<a.length;i++){
System.out.print("第"+(i+1)+str+"的平均分是:"+a[i]+" ");
}
System.out.println();
}
}
public static void displayResultTotal(int[][] students){
for(int i=0;i<students.length;i++){
System.out.println("第"+i+"个人的单科平均分分别是:"+students[i][0]+" "+students[i][1]+" "+students[i][2]+" ");
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
disposal();
}}
去掉,就OK了!
int[][][]c1;//三维数组定义
图片是去掉了包引用cmd的编译错误。