题目:请在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法。import java.util.*;public class TestFindChar2 {
public static void main(String[] args) {
char[] cr = new char[args.length];
String str="";
//把args数组转换成字符窜str。
for(int i=0;i<args.length;i++){
str = str+args[i];
}
System.out.println(str);
//把字符窜的每一个元素用charAt方法转换成char类型后,赋给cr(char类型)数组。
for(int i=0;i<args.length;i++) {
cr[i] = str.charAt(i);
}
Scanner scn = new Scanner(System.in);
System.out.println("输入索引字符:");
int cc = scn.nextInt(); //cc为要索引的char字符
for(int i=0;i<cr.length;i++) {
if(cr[i]==cc) {
System.out.println(cc+"位与数组的第"+i+"位");
break;
}
else{continue;}
}
}
}编译可以通过,但是运行有问题。还有觉得程序最后的 else{continue;}中,{}里面写的很垃圾,但是不知道怎么写好~
public static void main(String[] args) {
char[] cr = new char[args.length];
String str="";
//把args数组转换成字符窜str。
for(int i=0;i<args.length;i++){
str = str+args[i];
}
System.out.println(str);
//把字符窜的每一个元素用charAt方法转换成char类型后,赋给cr(char类型)数组。
for(int i=0;i<args.length;i++) {
cr[i] = str.charAt(i);
}
Scanner scn = new Scanner(System.in);
System.out.println("输入索引字符:");
int cc = scn.nextInt(); //cc为要索引的char字符
for(int i=0;i<cr.length;i++) {
if(cr[i]==cc) {
System.out.println(cc+"位与数组的第"+i+"位");
break;
}
else{continue;}
}
}
}编译可以通过,但是运行有问题。还有觉得程序最后的 else{continue;}中,{}里面写的很垃圾,但是不知道怎么写好~
楼主【jing61281125】截止到2008-07-24 20:30:06的历史汇总数据(不包括此帖):
发帖的总数量:6 发帖的总分数:120 每贴平均分数:20
回帖的总数量:46 得分贴总数量:7 回帖的得分率:15%
结贴的总数量:6 结贴的总分数:120
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
import java.util.*;public class TestFindChar2 {
public static void main(String[] args) {
char[] cr = new char[args.length];
String str="";//把args数组转换成字符窜str。
for(int i=0;i<args.length;i++){
str = str+args[i];
}
System.out.println(str);
//把字符窜的每一个元素用charAt方法转换成char类型后,赋给cr(char类型)数组。
for(int i=0;i<str.length();i++) {//args.length应该是不对的,那个只是args数组的长度
cr[i] = str.charAt(i);
}
Scanner scn = new Scanner(System.in);
System.out.println("输入索引字符:");
int cc = scn.nextInt(); //cc为要索引的char字符
for(int i=0;i<cr.length;i++) {
if(cr[i]==cc) {
System.out.println(cc+"位与数组的第"+i+"位");
break;
}
// else{continue;} 感觉这句话没什么用,是想让系统说点什么?
}
scn.close();//关闭此扫描器。
}
}
那台不方便了,如果就是不想输入ASC码,怎么改?
char[] cr = {'a','b'};
Scanner scn = new Scanner(System.in);
System.out.println("输入索引字符:");
char cc = scn.next().charAt(0); //cc为要索引的char字符
for(int i=0;i<cr.length;i++) {
if(cr[i] == cc) {
System.out.println(cc+"位与数组的第"+i+"位");
break;
}
}
这样就好了
行啦~谢谢你的方法啦!!
我是搞错了。。不应该是 int cc的。。要得到的是个char类型的~万分感谢!