首页 > 代码库 > Hello World !
Hello World !
大二都快完了还真的什么都没学到。静下来 一步 一小步 慢慢走 踏实走。就像一个初学者那样...
用 慕课网 学习java 入门第一季 7-9编程练习
题目:编写一个JAVA程序,创建指定长度的 int 型数组,并生成 100 以内随机数为数组中的每个元素赋值,然后输出数组
——————————————————————————————————————————————————
//导入java.util.Arrays;
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
// 创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
// 调用方法并将返回值保存在变量中
int[] nums = hello.getArray(8);
// 将数组转换为字符串并输出
System.out.println(Arrays.toString(nums));
}
/*
* 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值
* 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组
*/
public int[] getArray(int length) {
// 定义指定长度的整型数组
int[] nums = new int[length];
// 循环遍历数组赋值
for ( i=1;i<=length;i++) {
// 产生一个100以内的随机数,并赋值给数组的每个成员
nums[i]=(int)(Math.random() * 100);
}
return nums; // 返回赋值后的数组
}
}
——————————————————————————————————————————————————
其中,红色字体是我在空白处填的,其他为慕课网自带帮助编程。
/////////////////////////////////////////////////////////////////////////////////////////////
出现问题:1、 i 没用int去声明是什么类型的数据
2、i从1到8(length前面给定为8) 数学上没问题 8个数据 程序上,跳出异常,数组下标越界:ArrayIndexOutOfBoundsException。
数组中元素都是通过下标来访问的,从0开始 所以定义nums数组长度为8时下标是:0-7;当出现‘8’时,越界。
//////////////////////////////////////////////////////////////////////////////////////////////
修正后
//导入java.util.Arrays;
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
// 创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
// 调用方法并将返回值保存在变量中
int[] nums = hello.getArray(8);
// 将数组转换为字符串并输出
System.out.println(Arrays.toString(nums));
}
/*
* 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值
* 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组
*/
public int[] getArray(int length) {
// 定义指定长度的整型数组
int[] nums = new int[length];
// 循环遍历数组赋值
for (int i=1;i<length;i++) {
// 产生一个100以内的随机数,并赋值给数组的每个成员
nums[i]=(int)(Math.random() * 100);
}
return nums; // 返回赋值后的数组
}
}
运行结果:
[0, 83, 29, 60, 3, 68, 98, 72]//因为是随机的,所以给出的结果只要是八个整型数据的带完整符号数组就对;
总结:
1、只需填写2行短代码。第二行用的调用数学方法还是它给的,我复制过来 在前面补了nums[i]=而已。第一行 3小块就出现了两个问题。
2、for(里面的i要记得定义是什么数据类型,有数组时注意下标,i++){;}
3、第一次文章 因生疏而很耗时
Hello World !