1.String s = new String("xyz");创建了几个String Object
答:两个,一个字符对象,一个字符对象引用对象
2.Math.round(11.5)等于多少? Math.round(-11.5)等于多少
答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor
3.请编写一个 Application 实现如下功能:接受命令行中给出的一个字母串,先将该串原样输出,然后判断该串的第一个字母是否为大写,若是大写则统计该串中大写字母的个数,并将所有大写字母输出;否则输出信息串”第一个字母不是大写字母!”。
System.out.println("a string?");
Scanner scanner = new Scanner(System.in);
// 输入的字符串
String s = scanner.nextLine();
int count = 0;//大写字母的个数
StringBuffer stringBuffer = new StringBuffer("");
System.out.println("先将该串原样输出 \n" + s);
if (s == null){
System.out.println("wrong string");
return;
}
if ('A' <= s.charAt(0) && s.charAt(0) <= 'Z'){
for (int i = 0; i < s.length(); i++) {
if ('A' <= s.charAt(i) && s.charAt(i) <= 'Z'){
count++;
stringBuffer.append(s.charAt(i));
}
}
System.out.println("该串中大写字母的个数:\n" + count);
System.out.println("并将所有大写字母输出:\n" + stringBuffer);
}
else{
System.out.println("第一个字母不是大写字母!");
}4.创建BigDecimalDemo类,在类中分别定义add(),sub(),mul()和div()方法实现加、减、乘、除运算,并输出运算结果。要求除法,可以处理商的精度。
public class BigDecimalDemo {
static final int location = 10;
private static double value1;
private static double value2;
public static BigDecimal sub(double value1,double value2){
BigDecimal bigDecimal1 = new BigDecimal(Double.toString(value1));
BigDecimal bigDecimal2 = new BigDecimal(Double.toString(value2));
return bigDecimal1.subtract(bigDecimal2);
}
// 定义一些方法
// 加法
public static BigDecimal add(double value1,double value2){
BigDecimal bigDecimal1 = new BigDecimal(Double.toString(value1));
BigDecimal bigDecimal2 = new BigDecimal(Double.toString(value2));
return bigDecimal1.add(bigDecimal2);
}
// 减法
public static BigDecimal subtract(double value1,double value2){
BigDecimal bigDecimal1 = new BigDecimal(Double.toString(value1));
BigDecimal bigDecimal2 = new BigDecimal(Double.toString(value2));
return bigDecimal1.subtract(bigDecimal2);
}
// 乘法
public static BigDecimal mul(double value1,double value2){
BigDecimal bigDecimal1 = new BigDecimal(Double.toString(value1));
BigDecimal bigDecimal2 = new BigDecimal(Double.toString(value2));
return bigDecimal1.subtract(bigDecimal2);
}
// 除法 10位
public static BigDecimal div(double value1,double value2){
return div(value1,value2,location);
}
// 除法,重载的类
public static BigDecimal div(double value1,double value2,int b){
BigDecimal bigDecimal1 = new BigDecimal(Double.toString(value1));
BigDecimal bigDecimal2 = new BigDecimal(Double.toString(value2));
if (bigDecimal2.equals(0)) {
return BigDecimal.valueOf(0);
}
else {
return bigDecimal1.divide(bigDecimal2,b,BigDecimal.ROUND_HALF_UP);
}
}
}
public class Main {
public static void main(String[] args) {
BigDecimalDemo b=new BigDecimalDemo();
System.out.println("两个数字相加结果:"+b.add(-7.5, 8.9));
System.out.println("两个数字相减结果:"+b.sub(-7.5, 8.9));
System.out.println("两个数字相乘结果:"+b.mul(-7.5, 8.9));
System.out.println("两个数字相除结果,结果小数后保留10位:"+b.div(10, 2));
System.out.println("两个数字相除,结果保留小数后5位:"+b.div(-7.5, 8.9,5));
}
}
京公网安备 11010502036488号