我做的第7题
- package com.itheima;
- /**
- * 6、 将字符串中进行反转。abcde --> edcba
- * */
- public class Test6 {
- public static void main(String[] args) {
- String str = "abcde";
- System.out.println("反转前:"+str);
- //把字符串存入StringBuilder中,然后通过reverse方法来反转字符串
- str = new StringBuilder(str).reverse().toString();
- System.out.println("反转后:"+str);
- }
- }
复制代码
第9题:
- package com.itheima;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- /**
- 9、 编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。
- 这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,
- 还是其中包含有非数字字符的情况。提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,
- 接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,
- 只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),
- 就很容易理解十进制数转二进制数的这种方式。
- */
- public class Test9 {
- public static void main(String[] args) throws IOException {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //键盘录入
- String value = br.readLine();//录入信息
- if(value.matches("\\d+")){ //判断字符串是不是数字字符
- if(Long.parseLong(value)<=Integer.MAX_VALUE){ //判断是否超出了int范围
- int num = Integer.parseInt(value);
- StringBuilder sb = new StringBuilder(); //建立一个字符缓冲区,用于存储2进制
- while(num>0){
- sb.append(num%2); //存入余数
- num/=2; //每次除以2
- }
- System.out.println(sb.reverse().toString()); //打印输出
- }
- else{
- System.out.println("数字太大,已经超出了int最大值范围!");
- }
- }
- else{
- System.out.println("输入的数字非法!");
- }
- }
- }
复制代码 |