A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

通过键盘输入一段字符串,去除字符串中的b和ac。
例如:输入: abcdhbsac     输出:  dhs

要求:只准遍历一次

22 个回复

倒序浏览
虽然不会做 ,还是顶一下。
回复 使用道具 举报
public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("输入字符串:");
                String line = sc.nextLine();
                String line1 = line.replace("b", "");
                String line2 = line1.replace("ac", "");
                System.out.print(line2);
        }
回复 使用道具 举报
使用replace();第一个参数是你要删除的字符,char类型,第二个字符是你要修改的类型,如果没有就给""就行
回复 使用道具 举报
要求是满足了   不知道是不是你想要的
  1. import java.util.Scanner;

  2. /*
  3. *
  4. *        通过键盘输入一段字符串,去除字符串中的b和ac。
  5. *        例如:输入: abcdhbsac     输出:  dhs
  6. *        要求:只准遍历一次
  7. */
  8. public class Test1 {
  9.         public static void main(String[] args) {
  10.                 Scanner sc = new Scanner(System.in);
  11.                 System.out.println("请输入你录入的字符串");
  12.                 String s = sc.nextLine();
  13.                
  14.                 char[] charArray = s.toCharArray();
  15.                 for(char array:charArray){
  16.                         if(array >= 'd' && array <= 'z'){
  17.                                 System.out.print(array);
  18.                         }
  19.                 }
  20.         }
  21. }
复制代码
回复 使用道具 举报
虽然忘记了 但还是顶个
回复 使用道具 举报

import java.util.Scanner;

public class Test {
        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                String s=sc.nextLine();
                String str="b|a|c";
                String s1=s.replaceAll(str, "");
                System.out.println(s1);
        }
       
       
}
回复 使用道具 举报 1 0
通过toCharArray()获得一个char数组,然后遍历该数组,通过equals方法判断是否是要保留的元素
回复 使用道具 举报
Joschi 发表于 2016-4-16 01:13
要求是满足了   不知道是不是你想要的

不对啊,出现c或a或ca呢?
回复 使用道具 举报
WHAT2 发表于 2016-4-16 00:46
public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println ...

String replace = str.replace("b", "").replace("ac", "");
我认为像使用replace的方法,遍历一次是不能实现的。两个replace就是遍历两次,不知道我说的对吗?
回复 使用道具 举报
fanchunyu 发表于 2016-4-16 21:53
import java.util.Scanner;

public class Test {

不对吧,单独出现的c或a或者ca都是不需要删除的
回复 使用道具 举报
是不能出现b这个字符和ac这个字符串吗?
回复 使用道具 举报
public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个字符串:");
                String str = sc.next();
                if(str.contains("b")){
                        str =str.replaceAll("b", "");
                        if(str.contains("ac")){
                                str =str.replaceAll("ac", "");
                        }
                }
                System.out.println(str);
        }
回复 使用道具 举报
使用if 语句就可以可以通过String中的contain方法判断有没有包含,然后替换就可以replace(char oldChar, "")
回复 使用道具 举报
huangkai521 发表于 2016-4-19 00:14
public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println ...

你这是两次遍历
回复 使用道具 举报
还是顶一下
回复 使用道具 举报
fanchunyu 发表于 2016-4-16 21:53
import java.util.Scanner;

public class Test {

这个答案不错
回复 使用道具 举报
加油加油加油
回复 使用道具 举报
看一下  看一下
回复 使用道具 举报
就tochararray()嘛,一查API就知道了...
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马