Integer成员办法
方法名 | 说明 |
---|---|
public static String toBinaryString(int i) | 得到二进制 |
public static String toOctalString(int i) | 得到八进制 |
public static String toHexString(int i) | 得到十六进制 |
public static int parseInt(String s) | 将字符串类型的整数转换成int类型的整数 |
public static void main(String[] args) {
//1.整数转成二进制
String str1 = Integer.toBinaryString(100);
System.out.println(str1);
System.out.println("----------------------");
//2.整数转成八进制
String str2 = Integer.toOctalString(100);
System.out.println(str2);
System.out.println("----------------------");
//3.整数转成十六进制
String str3 = Integer.toHexString(100);
System.out.println(str3);
System.out.println("----------------------");
//4.将字符串类型的整数转换成int类型的整数
int i = Integer.parseInt("123");
System.out.println(i);
System.out.println(i + 1);
}
键盘录入
键盘录入一些1~100之间的整数,并添加到集合中。
直到集合中所有数据和超过200为止。
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入一个整数:");
String numStr = sc.nextLine();
int num = Integer.parseInt(numStr);
if (num < 1 || num > 100) {
System.out.println("范围错误");
continue;
}
list.add(num);
int sum = getSum(list);
if (sum > 200){
System.out.println("集合达标");
System.out.println(sum);
break;
}
}
}
private static int getSum(ArrayList<Integer> list) {
int sum = 0;
for (int i = 0; i < list.size(); i++) {
int num = list.get(i);
sum = sum + num;
}
return sum;
}
算法水题
自己实现parseInt方法的效果,将字符串形式的数据转成整数
要求:
字符串中只能是数字不能有其他字符
最少一位,最多十位
0不能开头
public static void main(String[] args) {
String str = "123456887";
if(!str.matches("[1-9]\\d{0,9}")){
System.out.println("格式不规范");
}else {
System.out.println("格式正确");
int number = 0;
for (int i = 0; i < str.length(); i++) {
int c = str.charAt(i) - '0';
number = number * 10 + c;
}
System.out.println(number);
}
}
算法水题
定义一个方法自己实现toBinaryString方法的效果,将一个十进制整数转成字符串表示的二进制
public static void main(String[] args) {
System.out.println(toBinaryString(10));
System.out.println(Integer.toBinaryString(10));
}
public static String toBinaryString(int number) {
StringBuilder sb = new StringBuilder();
while (true) {
if (number == 0) {
break;
}
int remaindar = number % 2;
sb.insert(0,remaindar);
number = number / 2;
}
return sb.toString();
}
算法水题
请使用代码实现计算你活了多少天,用JDK7和JDK8两种方式完成
public static void main(String[] args) throws ParseException {
//JDK7
String birthday = "2000年1月12日";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date date = sdf.parse(birthday);
long birthdayTime = date.getTime();
long todayTime = System.currentTimeMillis();
long time = todayTime - birthdayTime;
System.out.println(time / 1000 / 60 / 60 / 24);
//JDK8
LocalDate ld1 = LocalDate.of(2000,1,12);
LocalDate ld2 = LocalDate.now();
long days = ChronoUnit.DAYS.between(ld1, ld2);
System.out.println(days);
}
算法水题
判断任意的一个年份是闰年还是平年
要求:用JDK7和JDK8两种方式判断
public static void main(String[] args) {
//JDK7
Calendar c = Calendar.getInstance();
c.set(2000,2,1);
c.add(Calendar.DAY_OF_MONTH,-1);
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
//JDK8
LocalDate ld = LocalDate.of(2000, 3, 1);
LocalDate ld2 = ld.minusDays(1);
System.out.println(ld2.getDayOfMonth());
}
System.out.println(ld.isLeapYear());
Tips
以上学习内容均来自于B站黑马程序员