| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2182 人关注过本帖
标题:求助,代码里报错的部分要怎么修改呢
取消只看楼主 加入收藏
遗情处有诗章
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2017-3-10
结帖率:75%
收藏
已结贴  问题点数:19 回复次数:5 
求助,代码里报错的部分要怎么修改呢
程序代码:
import java.util.Scanner;
public class text {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
         while(in.hasNext()){
             String s = in.next();
             char type = s.charAt(0); 

             String[] str=new String[100];
                if(type == 'C'){ 

                    int len = str.length; 

                    int cnt = 1; 

                    for(int i = 0;i < len;i++){ 

                        if(str[i] == str[i+1]){ 

                            cnt++; 

                        }else{ 

                            if(cnt>1){ 

                                System.out.printf("%d",cnt); 

                            } 

                            System.out.printf("%c",str[i]); 

                            cnt = 1; 

                        } 

                    } 

                }else{ 

                    int len = str.length; 

                    int cnt = 0; 

                    for(int i = 0;i < len;i++){

                       

                        if(str[i]<='9'&&str[i]>='0'){ 

                            cnt*=10; 

                            cnt+=str[i]-'0'; 

                        }else{ 

                            if(cnt == 0){ 

                                System.out.printf("%c",str[i]); 

                            }else 

                            for(int j = 0;j < cnt;j++){ 

                                System.out.printf("%c",str[i]); 

                            } 

                            cnt = 0; 

                        } 

                    } 

                } 

         }
    in.close();
    }

}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: str System int out printf 
2018-03-22 09:31
遗情处有诗章
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2017-3-10
收藏
得分:0 
回复 2楼 疯狂的小a
现在是运行的时候有问题了
图片附件: 游客没有浏览图片的权限,请 登录注册

题目是:文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。
解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。
本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英文字母和空格组成的非空字符串。

图片附件: 游客没有浏览图片的权限,请 登录注册

2018-03-22 12:28
遗情处有诗章
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2017-3-10
收藏
得分:0 
回复 2楼 疯狂的小a
数组越界要怎么去修改呢
2018-03-22 12:30
遗情处有诗章
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2017-3-10
收藏
得分:0 
回复 5楼 疯狂的小a
代码运行起来还是有问题呀
输入压缩指令之后就直接运行了 (还没输入要压缩的字符串呢)
2018-03-22 19:22
遗情处有诗章
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2017-3-10
收藏
得分:0 
回复 8楼 疯狂的小a
之前就是只输入压缩指令按下回车代码就直接运行了
这次的可以啦 多谢大神呀
2018-03-22 20:27
遗情处有诗章
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2017-3-10
收藏
得分:0 
回复 8楼 疯狂的小a
上面的代码里有我们没学过的函数,一直过不了oj
我又改了这个可以运行了 但是运行时有问题了
程序代码:
import java.util.Scanner;

public class text {
    public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    while (in.hasNext()) {
    String s = in.next();
    char type = s.charAt(0);
    String str = in.nextLine();
    char[] c=str.toCharArray();
    if (type == 'C') {
                int len = str.length();
                int cnt = 1;
                for (int i = 0; i < len; i++) {
                    if (c[i] == c[i + 1]) {
                        cnt++;
                    } else {
                        if (cnt > 1) {
                            System.out.printf("%d", cnt);
                        }
                        System.out.printf("%c", c[i]);
                        cnt = 1;
                    }
                }
            } else {
                int len = str.length();
                int cnt = 0;
                for (int i = 0; i < len; i++) {
                    if (c[i]<= '9' && c[i] >= '0') {
                        cnt *= 10;
                        cnt += c[i] - '0';
                    } else {
                        if (cnt == 0) {
                            System.out.printf("%c", c[i]);
                        } else
                            for (int j = 0; j < cnt; j++) {
                                System.out.printf("%c", c[i]);
                            }
                        cnt = 0;
                    }
                }
            }
        }
        in.close();
    }
}

2018-03-23 09:39
快速回复:求助,代码里报错的部分要怎么修改呢
数据加载中...
 
   



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

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