| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
Reworld,下班在家制作游戏,1500万奖金等你拿编程微博 - 发现编程界的新鲜事
共有 746 人关注过本帖
标题:字符串删减特定字符问题?oj上显示答案错误?我没有检查出来,大家帮我看一 ...
只看楼主 加入收藏
加冕
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2018-11-24
结帖率:62.5%
  已结贴   问题点数:10  回复次数:5   
字符串删减特定字符问题?oj上显示答案错误?我没有检查出来,大家帮我看一下。
/*
 *
 *
 *
 * 从键盘输入一个字符串给str和一个字符给c,
 * 删除str中的所有字符c并输出删除后的字符串str。

输入
定义一个字符串
第一行是一个字符串; 第二行是一个字符。
//定义一个字符串s,一个字符c,输入,
 * 将一个字符串付给一个数组a[],在定义一个数组b[],还有i=0,k=0
 * while(i<a.)
 * {
 *   if (a[i]!=c)
 *   {
 *   b[k]=a[i];
 *   k++;
 *   }
 *   i++;
 *   
 * }
 * b[k+1]='\0';
 *
输出
删除指定字符后的字符串。

样例输入 Copy
sdf$$$sdf$$
$


样例输出    Copy
sdfsdf
*/
import java.util.*;
public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
Scanner zdh =new Scanner (System.in);
    String s;
    char a[],b[],c;
    a=new char[100];b=new char[100];
     int i=0,k=0;
     s=zdh.next();
     c=zdh.next().charAt(0);
     a=s.toCharArray();
   
     while(i<a.length)
         //  while('\0'!=a[i])这句话跑的话显示字符串下标溢出,可是我没有看出哪里的问题哦
     {
         if(a[i]!=c)
         {
             b[k]=a[i];
             k++;
         }
         
         i++;
         if(i>=a.length)
             break;
     }
     for(k=0;k<b.length;k++)
     {
         System.out.print(b[k]);
     }
    }

}

搜索更多相关主题的帖子: 字符串 字符 显示 输入 输出 
2019-03-28 20:41
rind
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:49
专家分:368
注 册:2018-3-8
  得分:10 
while的判断和里面的if判断有些重复。
两个保留一个就行。
如果保留if判断的话,
好像使用while(true)也没多大问题。

至于注释的那个
如果循环内没有if判断的话,是会报越界。

仅供参考,欢迎指正
2019-03-28 21:11
加冕
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2018-11-24
  得分:0 
回复 2楼 rind
谢谢你的回答,但是这不是我要的答案,在o'j答题系统上还是错的,我不知道为什么?

授人以鱼不如授人以渔请说一下用什么方法和需要学习什么来解决问题,谢谢大家
2019-03-31 09:34
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:132
帖 子:1934
专家分:8543
注 册:2015-3-19
  得分:0 
    for(i=0;i<k;i++)
     {
         System.out.print(b[i]);
     }
    }

}

知命以下无敌
2019-03-31 09:43
rind
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:49
专家分:368
注 册:2018-3-8
  得分:0 
这个系统还统计输出中'\0'的个数?
for (k = 0; b[k] != '\0'; k++) {
    System.out.print(b[k]);
}
b的长度为100,char默认初始化为'\0';能中途输入'\0',也会有问题
解决办法参考4楼。

或者对运行效率有要求?


[此贴子已经被作者于2019-3-31 11:01编辑过]


仅供参考,欢迎指正
2019-03-31 10:56
加冕
Rank: 2
等 级:论坛游民
帖 子:31
专家分:15
注 册:2018-11-24
  得分:0 
回复 5楼 rind
谢谢你的回答,

授人以鱼不如授人以渔请说一下用什么方法和需要学习什么来解决问题,谢谢大家
2019-05-16 08:55
快速回复:字符串删减特定字符问题?oj上显示答案错误?我没有检查出来,大家帮我 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.119525 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved