java练习题(1)

1.输入圆形半径,求圆形的周长和圆形的面积,并将结果输出。

import java.util.*;
public class TestCircle {
public static void main(String[] args) {
	Scanner scanner=new Scanner(System.in);
	System.out.println("请输入圆的半径:");
	double r=scanner.nextDouble();
	double c=2*3.14*r;
	double s=3.14*r*r;
	System.out.println("该圆的半径为:R="+r);
	System.out.println("该圆的周长为:C="+c);
	System.out.println("该圆的面积为:S="+s);
			
}
}


输出:
请输入圆的半径:
12.9
该圆的半径为:R=12.9
该圆的周长为:C=81.012
该圆的面积为:S=522.5274000000001

2.银行利率表如下表所示,请计算存款10000元,活期1年、活期2年,定期1年,定期2年后的本息合计。

    image.png

结果如下图所示(结果四舍五入,不保留小数位。使用Math.round(double d)实现)。

    image.png

/**
 * 计算银行利率
 * @author Memorial
 *
 */
public class TestDeposit {
public static void main(String[] args) {
	double a=10000;
	double b=0.35E-2;
	double c=1.10E-2;
	double d=1.30E-2;
	double f=1.50E-2;
	double g=2.10E-2;
	System.out.println("本金:"+Math.round(a));
	System.out.println("活期一年本金总计:"+Math.round((a+a*b)));
	System.out.println("定期一年本金总计:"+Math.round((a+a*f)));
	System.out.println("活期两年本金总计:"+Math.round((a+a*b+(a+a*b)*b)));
	System.out.println("定期两年本金总计:"+Math.round((a+a*g+(a+a*g)*g)));
}
}


输出:
本金:10000
活期一年本金总计:10035
定期一年本金总计:10150
活期两年本金总计:10070
定期两年本金总计:10424

3.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。结果如图所示。

    image.png

import java.util.*;
/**
 *数字加密
 * @author Memorial
 *
 */
public class TestEncrypton {
public static void main(String[] args) {
	Scanner scanner=new Scanner(System.in);
	System.out.println("请输入一个4位正整数:");
	int x=scanner.nextInt();
	//假设该四位数是abcd,将这四位数进行拆分
	int a=x/1000;
	int b=x%1000/100;
	int c=x%100/10;
	int d=x%10;
	//每位数字上都加上5,然后用和除以10的余数代替该数字
	a=(a+5)%10;
	b=(b+5)%10;
	c=(c+5)%10;
	d=(d+5)%10;
	int y=1000*d+100*c+10*b+a;
	System.out.println("加密后的数字:"+y);
}
}


输出:
请输入一个4位正整数:
1234
加密后的数字:9876

大神编写的代码:

package com.ftl;
 
import java.util.Scanner;
 
public class Demo6 {
 
	//题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,
	//加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
	//通过程序进行加密和解密
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个四位数:");
		int x = scanner.nextInt();
		Demo6 demo6 =new Demo6();
		System.out.println("加密之后的数字是:"+demo6.jiami(x));
		System.out.println("解密之后的数字是:"+demo6.jiemi(demo6.jiami(x)));
		
	}
 
	//加密过程
	public int jiami(int x) {
		//假设该四位数是abcd,将这个四位数进行拆分
		int a=x/1000;
		int b=x%1000/100;
		int c=x%100/10;
		int d=x%10;
		//每位数字都加上5,然后用和除以10的余数代替该数字
		a=(a+5)%10;
		b=(b+5)%10;
		c=(c+5)%10;
		d=(d+5)%10;
		x=1000*d+100*c+10*b+a;
		return x;
	}
	
	
	//解密过程
	public int jiemi(int x) {
		//将加密后的数进行拆分
		int a=x/1000;
		int b=x%1000/100;
		int c=x%100/10;
		int d=x%10;
		//每位数字都加上5,然后用和除以10的余数代替该数字
		a=(a+5)%10;
		b=(b+5)%10;
		c=(c+5)%10;
		d=(d+5)%10;
		x=1000*d+100*c+10*b+a;
		return x;
	}
	
	
	//写完程序发现,加密过程和解密过程是一样的
 
}

猜你喜欢

转载自blog.csdn.net/qq_38360675/article/details/85158208
今日推荐