我正在尝试编写一个接受int参数的方法,如果传递的int参数小于数组长度,则返回给定的数组元素。如果有人能指出我正确的方向,我将不胜感激。
代码:
String[] fruits = {"jan","feb","mar","apr","may","jun","jul","aug","sept","oct"};
public String getStr( int pos ){
String str;
if( pos <= fruits.length){
for( int i=0; i < fruits.length; ++i){
if(fruits[i] == pos){
str = fruits[pos];
}//IF
}
}//IF
else{
str = null;
}
return str;
}//METOD
答案 0 :(得分:1)
索引可以访问数组元素。所以你只需要检查给定的索引是否在数组的边界内,然后返回数组元素或null
。这可以写成一行:
condition ? value_if_true : value_if_false
因此,您的方法将如下所示:
public String getStr(int pos) {
return (pos >= 0 && pos < fruits.length) ? fruits[pos] : null;
}
答案 1 :(得分:1)
记住这些事情,以下代码将按预期工作:(假设'pos'代表基于0索引计数的数字)
String[] fruits = {"jan","feb","mar","apr","may","jun","jul","aug","sept","oct"};
public String getStr(int pos) {
if( pos < fruits.length && pos > -1){
return fruits[pos];
}
return null;
}
答案 2 :(得分:0)
检查那个数组的索引是否有效,然后发送元素为null。
return (pos >-1 && pos < fruits.length) ? fruits[pos] : null;
答案 3 :(得分:0)
为什么需要迭代。数组就在那里,你可以通过索引找到一个元素。
只需使用
if( pos <= fruits.length){
str = fruits[pos];
}//IF
else{
str = null;
}
答案 4 :(得分:0)
public void String getStr(int pos) {
String str;
if (pos >= 0 && pos < fruits.length)
{
return fruits[pos];
}
else
{
return null;
}
} // METHOD
答案 5 :(得分:0)
问自己这些问题:
pos
参数是否太大或太小(提示:使用长度)只考虑这两个问题并尝试将它们放入代码中。其他人已经给出了答案(他们不应该这样做,因为你没有要求),但仍然问自己这些问题,以提高你对情况的理解。