二、数据类型和变量和基本运算符
1.华氏温度和摄氏温度互相转换,从华氏度变成摄氏度你只要减去32,乘以5再除以9就行了,将摄氏度转成华氏度,直接乘以9,除以5,再加上32即行。
double f = 100; // 华氏温度
double c = 37; // 摄氏温度
// 华氏温度转摄氏温度
System.out.println((f - 32.0) * 5 / 9);
// 摄氏温度转华氏温度
System.out.println(c * 9.0 / 5 + 32);2.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序。
int a = 3;
int b = 5;
int tmp = a;//临时变量
a = b;
b = tmp;
System.out.println("a=" + a);
System.out.println("b=" + b);
不用第三方变量,将ab两个变量的值互换
int a = 3;
int b = 5;
a=a+b; //用a获得总和
b=a-b; //得到旧a值赋给b
a=a-b; //得到旧b值赋给a
System.out.println("a=" + a);
System.out.println("b=" + b);3.输入一个任意的浮点数,例如3.123456789,保留其两位小数输出,无需四舍五入
//创建输入流
Scanner input = new Scanner(System.in);
//得到输入的浮点数
double d = input.nextDouble();
//将浮点数乘以100(保留2位)后取整,再除以100.0还原成浮点数
System.out.println((int) (d * 100) / 100.0 );4.输入一个任意的5位整数,将它保留到百位,无需四舍五入
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
System.out.println(i / 100 * 100);5.输入一个0~1000的整数,求各位数的和,例如345的结果是3+4+5=12
注:分解数字既可以先除后模也可以先模后除
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
//分解数字
int x1 = i / 1000;
int x2 = i / 100 % 10;
int x3 = i / 10 % 10;
int x4 = i % 10;
System.out.println(x1 + x2 + x3 + x4);6.输入一个任意的大写字母A~Z,转换为小写字母,(后面再练习输入一个字符串,大写全部转换为小写)
char c = 'A';
System.out.println((char) (c + 32) );//加32即小写对应字母7.分页显示练习:定义一个常量,设定数据总记录数为73条(随时可以变化),一页20条记录(随时可以变化),输入页码,打印记录总数,共几页,当前是第几页,当前记录从第n条到第n条
final int rowcount = 73;//总记录数
final int pagesize = 20;//一页多少条
Scanner scan = new Scanner(System.in);
int page = scan.nextInt();//输入页码
//得到总页数
int pagecount = rowcount % page == 0 ? rowcount / page : rowcount / page + 1;
//起始记录
int startrow = pagesize * (page - 1) + 1;
//终止记录
int endrow = pagesize * page > rowcount ? rowcount : pagesize * page;
//打印输出
System.out.println("总记录数:" + rowcount + ",每页" + pagesize + "条,共" 
+ page + "页,当前是第" + page + "页,从" 
+ startrow + "条到" + endrow + "条");

解决方案 »

  1.   

    20.从控制台输入2个数字,求两者之间最大值,再从控制台输入3个数字,求三个数字的最大值,用三目运算符求。
    21.用switch语句判断成绩,>=90 A  >=80 B    >=70 C    >=60 D   <60 E22.输入年月日,判断这是这一年中的第几天
    Scanner sc = new Scanner(System.in);
    int year = sc.nextInt();
    int month = sc.nextInt();
    int day = sc.nextInt();
    int sum = 0;// 总天数 switch (month) {/* 先计算某月以前月份的总天数 */
    case 1:
    sum = 0;
    break;
    case 2:
    sum = 31;
    break;
    case 3:
    sum = 59;
    break;
    case 4:
    sum = 90;
    break;
    case 5:
    sum = 120;
    break;
    case 6:
    sum = 151;
    break;
    case 7:
    sum = 181;
    break;
    case 8:
    sum = 212;
    break;
    case 9:
    sum = 243;
    break;
    case 10:
    sum = 273;
    break;
    case 11:
    sum = 304;
    break;
    case 12:
    sum = 334;
    break;
    default:
    System.out.println("日期错误");
    break;
    }
    sum = sum + day;/* 再加上某天的天数 */
    if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0 && month > 2) {
    sum ++;
    }
    System.out.println("第" + sum + "天");