1.(简单)输入一个整数,将这个整数以字符串的形式逆序输出,程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001。
public class one { public static void main(String[] args) { int a = 123;//测试输入整数 System.out.println(nizhi(a)); } public static String nizhi(int a) { String s = String.valueOf(a); char []h=s.toCharArray(); String result = ""; for(int i=h.length-1;i>=0;i--) { result +=h[i]; } return result; } }
2.(简单)对字符串中的所有单词进行倒排
说明
1、构成单词的字符只有26个大写或小写英文字母;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
输入: I am a student 输出:student a am I
public class two { public static void main(String[] args) { //A是65 //Z是90 //a是97 //z是122 String old ="I%%%%%%%%%%%%%%%am###a student"; System.out.println(nizhi(old)); } public static String nizhi(String old) { char []c=old.toCharArray(); String []x=new String[1000]; int flag=0; String m=""; for (int i=0;i=65&&c[i]<=90)||(c[i]>=97&&c[i]<=122)) { m+=c[i]; //加上最后一个单词 if (i==c.length-1) { x[flag]=m; } } else { if (!m.equals(""))//前面是单词才存入单词数组 { x[flag] = m; flag++; m = "";//统计新一个单词 } } } String result=""; for (int i=flag;i>=0;i--) { result+=x[i]; if (i==0) { break;//最后不加空格 } result+=" "; } return result; } }
3. (中等)写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
输入:0xA 0xAA
输出:10 170
import java.util.Scanner; public class three { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String s=scanner.next(); System.out.println(zhuanhuan(s)); } public static int zhuanhuan(String old) { return Integer.decode(old); } }
4.(较难)写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
输入:ABCabc
A
输出:2
public class four { public static void main(String[] args) { String old="ABCabc "; char c='A'; System.out.println(count(old,c)); } public static int count(String s,char c) { int sum=0; char []a=s.toCharArray(); //当c为大写字母时 if (c>=65&&c<=90) { char c1= (char) (c+32); for (int i=0;i=97&&c<=122) //当c为小写字母时 { char c1= (char) (c-32); for (int i=0;i欢迎分享,转载请注明来源:内存溢出
评论列表(0条)