入门题
1、取近似值
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
该题为基础数学题,并且有对应的函数来获得最终的结果,我们在这里不适用函数,通过简单的数学方式来获取最终结果
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
//从键盘输入
Scanner scan = new Scanner(System.in);
//键盘输入的小数
float num = scan.nextFloat();
//获取整数后的小数
float x = num - (int)num;
//获取小数的整数位
int y = (int)num;
//通过 获取的小数与0.5进行比较
//当>=0.5时,给其加1 实现想上取整
if (x >= 0.5) {
System.out.println(y+1);
} else {
//当<0.5时,返回整数部分,实现想下取整
System.out.println(y);
}
}
}
补充:
该题提议使用Math.round()函数进行获取
2、提取不重复的整数
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是 0 。
输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
该题可以使用多种方法来进行求解,这里使用set
import java.util.Scanner;
import java.util.HashSet;
public class Main{
public static void main(String[] agrs) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
res(num);
}
private static void res(int num) {
//将数值类型转为字符串类型
String str = String.valueOf(num);
//定义hashset
HashSet<Character> set = new HashSet<>();
//便利字字符串
for (int i = sr.length() -1 ; i >= 0; i--) {
//当set里不包含该数字时,就插入并且输出
//set本身就具有,不添加重复数据的特性
if (!str.contains(str.charAt(i))) {
set.add(str.charAt(i));
System.out.print(str.charAt(i));
}
}
}
}
3、 截取字符串
描述
输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出
输入描述:
1.输入待截取的字符串
2.输入一个正整数k,代表截取的长度
输出描述:
截取后的字符串
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
int num = scan.nextInt();
res(str,num);
}
private static void res(String str , int num) {
//可进行校验 if (num > str.length() || num < 0)...........
String res = str.substring(0,num);
System.out.println(res);
}
}