arrylist输入_Java中的ArrayList和输入

回答:

大于1.我似乎无法让输入循环得以解决,这样做的最佳做法是什么.

我宁愿有一个简单的while循环而不是do {} while …并将条件放在while …在我的例子中它读取:

而读数不是结束信号而且计数低于限制:do.

大于2.读取方法的对象类型是什么? double []或ArrayList?

但是我强烈建议您使用List(java.util.List)接口.编程到接口而不是实现是一个很好的OO实践.

> 2.1如何将method-type声明为arraylist?

见下面的代码.

> 2.2.如何防止阵列中存储的值超过1000?

通过在while条件中添加此限制.

import java.util.Scanner;

import java.util.List;

import java.util.ArrayList;

public class InputTest{

private int INPUT_LIMIT = 10000;

public static void main( String [] args ) {

InputTest test = new InputTest();

System.out.println("Start typing numbers...");

List list = test.readRange( 2.0 );

System.out.println("The input was " + list );

}

/**

* Read from the standar input until endSignal number is typed.

* Also limits the amount of entered numbers to 10000;

* @return a list with the numbers.

*/

public List readRange( double endSignal ) {

List input = new ArrayList();

Scanner kdb = new Scanner( System.in );

int count = 0;

double number = 0;

while( ( number = kdb.nextDouble() ) != endSignal && count < INPUT_LIMIT ){

System.out.println( number );

input.add( number );

}

return input;

}

}

最后的评论:

优选使用“实例方法”而不是类方法.这种方式如果需要,“readRange”可以由子类处理而不必更改签名,因此在示例中我删除了“static”关键字,创建了一个“InputTest”类的实例

在java代码样式中,变量名称应该在cammel的情况下,如“endSignal”而不是“end_signal”

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值