JAVA实现输入字符串返回字符串中的奇数位的字符

如题所述

import java.io.InputStream;
import java.util.Scanner;

public class Main2 {

public static String subString(String s){
if(s == null){
throw new NullPointerException("空字符串");
}
// 使用StringBuffer效率比String高
StringBuffer buffer = new StringBuffer();
int n = s.length();
for(int i = 0; i < n; i++){
// 因为索引是从0开始,所以索引为偶数的是奇数位字符
if(i % 2 == 0){
buffer.append(s.charAt(i));
}
}
return buffer.toString();
}

public static void main(String[] args) {

System.out.println("输入数据:");
InputStream input = System.in;
Scanner scanner = new Scanner(input);
String s = scanner.nextLine();

System.out.println(Main2.subString(s));
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-21
package test;

import java.io.InputStream;
public class CharTest
{
public static void main(String[] args) throws Exception {
String res="";
InputStream input = System.in;
byte b[] = new byte[1024];
System.out.println("请输入:");
int len = input.read(b);
for(int i=0;i<len;i+=2)
{
res+=new String(b, i, 1);
}
System.out.println("结果"+res);
input.close();
}
}
第2个回答  2010-06-21
import java.util.*;
public class t2010_6_21{
public static void main(String[] args){
String s=(new Scanner(System.in)).nextLine();
char[] ch=new char[(s.length()+1)/2];//储存字符
int j=0;
for(int i=0;i<s.length();i++){
if(i%2==0)ch[j++]=s.charAt(i);//第奇数个,从0开始
}
System.out.println(Arrays.toString(ch));
}
}
第3个回答  2010-06-21
diy
相似回答