黑马程序员技术交流社区
标题:
数组的问题
[打印本页]
作者:
13155155528
时间:
2014-8-7 10:57
标题:
数组的问题
class FindElement
{
public static void main(String[] args)
{
getIndex(-1);
char ch=getIndex(-1);
System.out.println(ch);
}
public static char getIndex(int index)
{
if(index<0)
{
System.out.print("你输入的下标不存在");
return ' ';
}
char [] arr={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E'};
return arr[index];
}
}
为什么输入正数打印一次,输入负数打印两次你输入的下标不存在?
作者:
赵良泰
时间:
2014-8-7 11:08
不明白你问的什么。你要查找的数字或者char类型字符必须要在你定义的数组中。
作者:
冒牌高手
时间:
2014-8-7 11:13
因为你的第一条语句相当于this.getIndex(-1);相当于调用了一次本函数,所以他会打印一次。第二条又是调用了一次函数,所以又打印一次...,正数的话也是调用两次函数,只不过进不去if语句。这是我的理解...
作者:
沟门大杏
时间:
2014-8-7 12:06
没明白
作者:
喜爱
时间:
2014-8-7 13:37
因为你的打印语句就是打印ch的值,该你第一次调用getIndex()方法的时候,没有接返回值,并且也没有打印该返回值啊,所以只打印一个值的结果。
作者:
吴杰栋
时间:
2014-8-7 17:06
package demo_1;
//请在一个类中编写一个方法,查找一个字符数组中是否存在某个字符,
//若存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),
//否则,返回-1。思路和步骤以及代码
public class Test3 {
public static void main(String[] args) {
char[] ch = {'a','s','s','f','g','q','w','r'};
int index = findChar(ch,'c');
System.out.println(index);
}
public static int findChar(char[] ch,char c) {
int index = 0;
for(int a=0;a<ch.length;a++){
if(ch[a]!=c){
index = -1;
continue;//开始找不到c的时候先记录-1,然后再去循环,也许后面有c
}
if(ch[a]==c){
index = a;
break;//为了出现第二个字符的时候,可以用index记录第一次出现的值
}
}
return index;
}
}
复制代码
我是红领巾
作者:
舍我其谁
时间:
2014-8-7 17:46
你调用了两次方法,肯定就打印两次啊,第一次没有接收返回值,第二次接收了返回值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2