JAVA程序设计基础课后题,求解

题目1:编写JAVA应用程序,比较命令行中给出的字符串是否相等,并输出比较的结果。
题目2:编程统计用户从键盘输入的字符串所包含的字母、数字、其他字符的个数

题目1:

import java.util.Scanner;

/**
 * 题目1:编写JAVA应用程序,比较命令行中给出的字符串是否相等,并输出比较的结果。
 * @author Retror
 *
 */
public class TestEqual {
public static String str[]=new String[2];
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
for(int i=0;i<str.length;i++){
str[i]=scan.nextLine();
}
if(str[0].equals(str[1])){
System.out.println("相等");
}else{
System.out.println("不相等");
}
}
}

    运行效果:

asd
dsa
不相等

题目2:

import java.util.Scanner;

/**
 * 题目2:编程统计用户从键盘输入的字符串所包含的字母、数字、其他字符的个数
 * @author Retror
 *
 */
public class CountStr {
public static int numCount;
public static int strCount;
public static int otherCount;
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String str=scan.nextLine();
char chs[]=str.toCharArray();
for(int i=0;i<chs.length;i++){
if(chs[i]<=57&&chs[i]>=48){
numCount++;
}else if((chs[i]<=122&&chs[i]>=97)||(chs[i]<=90&&chs[i]>=65)){
strCount++;
}else{
otherCount++;
}
}
System.out.println("字母个数:"+numCount);
System.out.println("数字个数:"+strCount);
System.out.println("其他字符个数:"+otherCount);
}
}

    运行效果:

123qqsda sdas
字母个数:3
数字个数:9
其他字符个数:1

    希望能帮到你,望采纳。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-10
//两个程序并一起了,供参考
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s1 = sc.nextLine();
String s2 = sc.nextLine();
System.out.printf("前后两个字符串%s相等\n",s1.equals(s2)? "":"不");
sc.close();

char[] arrs = s1.toCharArray();
int numc = 0;
int charc = 0;
int otherc = 0;
for (int i = 0; i < arrs.length; i++) {
if (Character.isDigit(arrs[i]))
numc ++;
if (Character.isLetter(arrs[i]))
charc ++;
}
otherc = arrs.length - numc - charc;
System.out.printf("字符串1共有%d个字符,其中%d个数字,%d个字母,其他字符%d个",arrs.length,numc,charc,otherc);
}
}

本回答被网友采纳
第2个回答  2014-04-10
public class Test {

public static void main(String[] args) {
//第一题
java.util.Scanner sc = new java.util.Scanner(System.in);
System.out.println("请输入第一个字符串");
String str1 = sc.next();
System.out.println("请输入第二个字符串");
String str2 = sc.next();
 if(str1.equals(str2)){
 System.out.println("相等");
 }else{
 System.out.println("不相等");
 }

//第二题
java.util.Scanner sc = new java.util.Scanner(System.in);
java.util.List<String> list = new java.util.ArrayList<String>();
System.out.println((int)'0');
System.out.println((int)'9');
System.out.println("请输入,N结束输入!");
w:while(true){
String str = sc.next();
if("N".equals(str)){
break w;
}else{
list.add(str.toLowerCase());
}
}

int zm = 0,sz = 0,tsfh = 0;
for(int i = 0; i < list.size(); i++){
for(int j = 0; j < list.get(i).length(); j++){
if((list.get(i).charAt(0) >= 97 && list.get(i).charAt(0) <= 122)){
zm++;
}else if(list.get(i).charAt(0) >= 48 && list.get(i).charAt(0) <= 57){
sz++;
}else{
tsfh++;
}
}
}
System.out.println("字母:" + zm);
System.out.println("数字:" + sz);
System.out.println("特殊符号:" + tsfh);
}
}

第3个回答  2014-04-10
1、定义两个String,用equals比较,用If作判断,如果string1大于string2,就输出string1>string2,否则输出string1<string2.
2、设定三个变量,分别代表数字,字母,其他字符。用输入流。每输入一个字符,判断这个字符的asc码,在多少到多少之间是字母,多少到多少是数字。每次判断一个,对应的变量+1,最后分别输出变量(这是百度的思路)追问

能帮我做出来么