package packcharacterCounter;
import java.util.Scanner;public class CharacterCounter {
public static void main(String[] args) {
char c;
System.out.print("请输入一段字符,单击“0”结束!");
Scanner scanner = new Scanner(System.in);
c= scanner.nextLine();
int i=0;
int j=0;
int p=0;
while(c!='0')
{
if((c>='a'&&c<'z')||(c>'A'&&c<'Z'))
i=i+1;
else if(c>'1'&&c<'9')
j=j+1;
else
p=p+1;
c= scanner.next(); }
System.out.print("字母一共有"+i+"个\n");
System.out.print("数字一共有"+j+"个\n");
System.out.print("其他控制符一共有"+p+"个\n"); }}中间打红色标记的两行老出错?我也知道是字符与字符串的问题,可在网上查找一直没有找到好的解决办法?
该怎么做?
解决方案 »
- JSP与ORACLE9i连接时出错
- 检测指定的URL是否存在,很多资料推荐HttpWebRequest的GetResponse方法,并根据是否抛出异常来判断。 当指定的URL不存在且网站并未做任
- classid的含义是什么
- 所有积分求一个jstl标签的简单问题,就一行代码~~~~~~~~在线等
- struts2标签相关的问题?
- 有没有apache2+resin+jdk中配置数据库成功的啊?
- 客户端无法运行APPLET,如何让插件J2RE自动下载并安装啊?急。。。。
- 在jsp中用asp
- 我问个问题先。
- sos!!有关配置jsp运行环境,配好后连接数据库的问题
- 不显示删除回复显示所有回复显示星级回复显示得分回复 不设置border属性margin-top无效,什么问题
- 怎样解决jfreechar有0值就不显示图的问题.
import java.util.Scanner;public class CharacterCounter {
public static void main(String[] args) {
char c;
System.out.print("请输入一段字符,单击“0”结束!");
Scanner scanner = new Scanner(System.in);
c= scanner.nextLine().charAt(0);
int i=0;
int j=0;
int p=0;
while(c!='0')
{
if((c>='a'&&c<'z')||(c>'A'&&c<'Z'))
i=i+1;
else if(c>'1'&&c<'9')
j=j+1;
else
p=p+1;
c= scanner.next().charAt(0); }
System.out.print("字母一共有"+i+"个\n");
System.out.print("数字一共有"+j+"个\n");
System.out.print("其他控制符一共有"+p+"个\n"); }}
c= scanner.nextLine();scanner.nextLine()返回的是String类型,你用char类型的c变量接收肯定会有错的,
你把char c改成String c就行了,不过这样改完后下边的代码都要修改。改成:public class CharacterCounter {
public static void main(String[] args) {
String c;
System.out.print("请输入一段字符,单击“0”结束!");
Scanner scanner = new Scanner(System.in);
c = scanner.nextLine();
int i=0;
int j=0;
int p=0;
int index = 0;
char currentChar = c.charAt(index++);
while(currentChar != '0')
{
if(currentChar >= 'a'&& currentChar < 'z')||(currentChar >'A'&& currentChar <'Z'))
i=i+1;
else if(currentChar >'1'&& currentChar <'9')
j=j+1;
else
p=p+1;
System.out.print("字母一共有"+i+"个\n");
System.out.print("数字一共有"+j+"个\n");
System.out.print("其他控制符一共有"+p+"个\n");
if(index <= c.length()){
char currentChar = c.charAt(index++);
}else{
c = scanner.nextLine();
char currentChar = c.charAt(index++);
} }}