Java问题 控制台输入一组数据 判断都是数字 还是都是字母 还是都是字符 还是都是字母和数字的混合
这是我写的程序packagestringtest;importjava.util.*;publicclassPanDuan{/***@paramargs*/publics...
这是我写的程序
package stringtest;
import java.util.*;
public class PanDuan {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("输入一组数据");
String str=input.nextLine();
int a=0,b=0,c=0;
char []ch=str.toCharArray();
for(int i=0;i<ch.length;i++){
if((ch[i]>='a'&&ch[i]<='z')||ch[i]>='A'&&ch[i]<='Z'){
a++;
}
if(ch[i]>='0'&&ch[i]<='9'){
b++;
}
if((ch[i]>=32&&ch[i]<=47)||(ch[i]>=58&&ch[i]<=64)||(ch[i]>=123&&ch[i]<=127));{
c++;
}
if(a==ch.length){
System.out.println("输入的全为字母");
}
else if(b==ch.length){
System.out.println("输入的全为数字");
}
else if(c==ch.length){
System.out.println("输入的全为字符");
}
else if((a+b==ch.length)&&(a!=0)&&(b!=0)){
System.out.println("输入的为字母和数字的混合");
}
}
}
}
可是运行之后 只能针对 “都是”的问题 对于混合却判断不出来 请问应该如何修改 展开
package stringtest;
import java.util.*;
public class PanDuan {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("输入一组数据");
String str=input.nextLine();
int a=0,b=0,c=0;
char []ch=str.toCharArray();
for(int i=0;i<ch.length;i++){
if((ch[i]>='a'&&ch[i]<='z')||ch[i]>='A'&&ch[i]<='Z'){
a++;
}
if(ch[i]>='0'&&ch[i]<='9'){
b++;
}
if((ch[i]>=32&&ch[i]<=47)||(ch[i]>=58&&ch[i]<=64)||(ch[i]>=123&&ch[i]<=127));{
c++;
}
if(a==ch.length){
System.out.println("输入的全为字母");
}
else if(b==ch.length){
System.out.println("输入的全为数字");
}
else if(c==ch.length){
System.out.println("输入的全为字符");
}
else if((a+b==ch.length)&&(a!=0)&&(b!=0)){
System.out.println("输入的为字母和数字的混合");
}
}
}
}
可是运行之后 只能针对 “都是”的问题 对于混合却判断不出来 请问应该如何修改 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询