黑马程序员技术交流社区
标题:
急!求解啊!关于重载、数组初始化等问题
[打印本页]
作者:
莫若吻
时间:
2014-4-23 22:10
标题:
急!求解啊!关于重载、数组初始化等问题
本帖最后由 莫若吻 于 2014-4-25 10:29 编辑
练习题:定义一个类Initial,类内部重载initArr()方法,分别实现对整数数组,双精度型数组,字符串数组的初始化功能,数组作为方法的参数,方法体内提示用户为数组元素输入数据,然后显示所有元素。在main方法中创建三种类型数组,创建Initial类的对象,分别调用initArr()方法进行初始化。
提示:用户自定义输入元素,用Scanner reader=new Scanner(System.in); 将用户输入的元素存入一个整型变量用 int x=reader.nextInt();
其他知识点涉及到的就是毕老师教我们的重载和数组等等知识了。(虽然本人知道用哪些知识点,却思考了一晚上都未完全按要求做出来,总是差那么一点。希望大家帮帮忙!本人表示感谢!)
下面这是在大家的帮助下,我做出的答案:(依旧有不足之处,仅供参考吧!)
import java.util.Arrays;
import java.util.Scanner;
class Initial{
private Scanner input=new Scanner(System.in);
void initArr(int[] arr){
System.out.println("请为整型数组设置元素个数");
int n=input.nextInt();
arr=new int[n];
System.out.println("请为整型数组输入"+n+"个元素");
for(int i=0;i<n;i++)
{
arr
=input.nextInt();
}
System.out.println(Arrays.toString(arr));//打印数组
}
void initArr(double[] arr){
System.out.println("\n"+"请为双精度数组设置元素个数");
int n=input.nextInt();
arr=new double[n];
System.out.println("请为双精度数组输入"+n+"个元素");
for(int i=0;i<n;i++)
{
arr
=input.nextDouble();
}
System.out.println(Arrays.toString(arr));//打印数组
}
void initArr(String[] arr){
System.out.println("\n"+"请为字符串数组设置元素个数");
int n=input.nextInt();
arr=new String[n];
System.out.println("请为字符串数组输入"+n+"个元素");
for(int i=0;i<n;i++)
{
arr
=input.next();
}
System.out.println(Arrays.toString(arr));//打印数组
}
}
class Exercise{
public static void main(String[] args){
Initial zz=new Initial();
int[] arr=null;
double[] array=null;
String[] arrayy=null;
zz.initArr(arr);
zz.initArr(array);
zz.initArr(arrayy);
}
}
作者:
Tking
时间:
2014-4-24 02:27
本帖最后由 Tking 于 2014-4-24 02:32 编辑
<div class="blockcode"><blockquote>import java.util.Arrays;
import java.util.Scanner;
public class Test15 {
public static void main(String[]args)
{
Initial init=new Initial();
int[] tempint=new int[3];
String[] tempstring=new String[4];
double[] tempdouble=new double[5];
init.initArr(tempint);
init.initArr(tempstring);
init.initArr(tempdouble);
}
}
class Initial
{
private Scanner input=null;
public Initial() {
input=new Scanner(System.in);
}
void initArr(int[] arr)
{
System.out.println("int input.....");
for(int i=0;i<arr.length;i++)
{
String temp=get();
if(!temp.matches("\\d+"))
return ;
arr[i]=Integer.valueOf(temp);
}
System.out.println(Arrays.toString(arr));
}
void initArr(String[] arr)
{
System.out.println("String input.....");
for(int i=0;i<arr.length;i++)
{
arr[i]=get();
}
System.out.println(Arrays.toString(arr));
}
void initArr(double[] arr)
{
System.out.println("double input.....");
for(int i=0;i<arr.length;i++)
{
String temp=get();
if(temp.matches("\\d+.\\d+"))
arr[i]=Double.valueOf(temp);
}
System.out.println(Arrays.toString(arr));
}
private String get()
{
return input.next();
}
}
复制代码
你看这个可不可以,试试吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2