黑马程序员技术交流社区

标题: 请教大神们一道题(java基础题) [打印本页]

作者: 不忘初❤    时间: 2016-4-14 15:31
标题: 请教大神们一道题(java基础题)
通过键盘输入一段字符串,去除字符串中的b和ac。
例如:输入: abcdhbsac     输出:  dhs

要求:只准遍历一次

作者: 忧郁的小绵羊丶    时间: 2016-4-14 15:42
虽然不会做 ,还是顶一下。
作者: WHAT2    时间: 2016-4-16 00:46
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);
        }
作者: xiaoxiqq    时间: 2016-4-16 01:05
使用replace();第一个参数是你要删除的字符,char类型,第二个字符是你要修改的类型,如果没有就给""就行
作者: Joschi    时间: 2016-4-16 01:13
要求是满足了   不知道是不是你想要的
  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. }
复制代码

作者: 邹凯    时间: 2016-4-16 17:48
虽然忘记了 但还是顶个
作者: fanchunyu    时间: 2016-4-16 21:53

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);
        }
       
       
}
作者: 小白想学javaEE    时间: 2016-4-16 22:37
通过toCharArray()获得一个char数组,然后遍历该数组,通过equals方法判断是否是要保留的元素
作者: 不忘初❤    时间: 2016-4-18 16:31
Joschi 发表于 2016-4-16 01:13
要求是满足了   不知道是不是你想要的

不对啊,出现c或a或ca呢?
作者: 不忘初❤    时间: 2016-4-18 16:34
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就是遍历两次,不知道我说的对吗?
作者: 不忘初❤    时间: 2016-4-18 16:37
fanchunyu 发表于 2016-4-16 21:53
import java.util.Scanner;

public class Test {

不对吧,单独出现的c或a或者ca都是不需要删除的
作者: huangkai521    时间: 2016-4-19 00:08
是不能出现b这个字符和ac这个字符串吗?
作者: huangkai521    时间: 2016-4-19 00:14
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);
        }
作者: liudh1    时间: 2016-4-19 10:19
使用if 语句就可以可以通过String中的contain方法判断有没有包含,然后替换就可以replace(char oldChar, "")
作者: 不忘初❤    时间: 2016-4-20 09:25
huangkai521 发表于 2016-4-19 00:14
public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println ...

你这是两次遍历
作者: 系米粒    时间: 2016-4-20 10:46
还是顶一下
作者: vextuxi    时间: 2016-4-20 20:44
fanchunyu 发表于 2016-4-16 21:53
import java.util.Scanner;

public class Test {

这个答案不错
作者: tongtian    时间: 2016-4-20 21:36
加油加油加油
作者: yy0328    时间: 2016-4-20 21:44
看一下  看一下
作者: 进击的鬼笔环肽    时间: 2016-4-20 22:14
就tochararray()嘛,一查API就知道了...
作者: 不忘初❤    时间: 2016-4-25 20:47
小白想学javaEE 发表于 2016-4-16 22:37
通过toCharArray()获得一个char数组,然后遍历该数组,通过equals方法判断是否是要保留的元素 ...

你可以敲代码试一下,要求只遍历一次
作者: 不忘初❤    时间: 2016-4-25 20:50
huangkai521 发表于 2016-4-19 00:14
public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println ...

只遍历一遍,,,,,,,
作者: 不忘初❤    时间: 2016-4-25 20:55
fanchunyu 发表于 2016-4-16 21:53
import java.util.Scanner;

public class Test {

可是ca也被你无情的给删掉啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2