标签:mil 创建 参数转换 生成 class 知识点 border back 符号位
题目:123321是一个非常特殊的数,它从左边读和从右边读是一样的
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n
输入一行,包含一个正整数n
按从小到大的顺序输出满足条件的整数,每个整数占一行样例输入
52
样例输出
899998
989989
998899
代码如下:
import java.util.*;public class _002SpecialPalindromeNumber {public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();
for (int i = 10000;i <1000000;i++){ //i的取值在五位数到六位数之间String str = Integer.toString(i); //将整型i转换为string类型char[] array = str.toCharArray();
boolean flag = true;for (int j = 0,k = array.length - 1;j < array.length /2 ; j++,k--) {if (array[j] != array[k]) {
flag = false;
break;
}}if (flag){
int sum = 0;
for (int r = 0 ; r < array.length ; r++){sum += Integer.valueOf(array[r]) - 48;
}if (sum == n) {
System.out.println(i);}}}}}
知识点:
String str="my string"; //创建一个字符串strchar[] chrCharArray; //创建一个字符数组chrCharArraychrCharArray = str.toCharArray(); //将字符串变量转换为字符数组
str= String.valueOf(chrCharArray ); //将字符数组转换为字符串
转换关键在于以下两个方法:
(1)String类的toCharArray()方法,将字符串转换为字符数组
(2)String类的valueOf()方法,将char类型的数组转换为字符串
Integer.toString(int i) 和 String.valueOf(int i)方法
Integer类的toString方法:生成整数的十进制字符串并返回一个10进制整数的String对象
将该参数转换为有符号的十进制表形式,以字符串形式返回它
public static String toString(int i) {if (i == Integer.MIN_VALUE) //等于最小值直接返回最小值字符串,避免getChars方法遇到最小值发生错误return "-2147483648";//判断i的位数,若位负数增加1位用来保存符号位
int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
char[] buf = new char[size];//将i转换位buf符号数组
getChars(i, size, buf);//因为buf数组是在方法内部生成,其他地方不会有其引用,所以直接将其引用给String内部的value保存,用来初始化String
return new String(buf, true);}
String.valueOf(int i)其实是调用了Integer.toString(int i)方法
标签:mil 创建 参数转换 生成 class 知识点 border back 符号位
原文地址:https://www.cnblogs.com/qimuz/p/12670573.html