【Java】编程的基本元素_内嵌数据类型

内嵌数据类型:

char、byte/short/int/long、float/double、boolean、string

类型转换;

程序:

1. 计算ax^2 + bx + c = 0的根;

程序:

package com.shiyanlou;

import edu.princeton.cs.introcs.StdIn;
import edu.princeton.cs.introcs.StdOut;

public class Root {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double a = StdIn.readDouble();
		double b = StdIn.readDouble();
		double c = StdIn.readDouble();
		
		double discriminant = b*b - 4*a*c;
		
		double root1 = (-b + Math.sqrt(discriminant))/(2*a);
		double root2 = (-b - Math.sqrt(discriminant))/(2*a);
		
		StdOut.println("root1 = " + root1);
		StdOut.println("root2 = " + root2);
	}

}

 执行:

                                          

2. 计算点(x,y)到(0,0)的欧拉距离;

程序:

package com.shiyanlou;

import edu.princeton.cs.introcs.StdIn;
import edu.princeton.cs.introcs.StdOut;

public class Distance {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double x = StdIn.readDouble();
		double y = StdIn.readDouble();
		
		double dist = Math.sqrt(x*x + y*y);
		StdOut.println("distance = " + dist);

	}

}

执行:

                                              

3. 计算两个1~6之间的随机整数的和;

程序:

package com.shiyanlou;

import edu.princeton.cs.introcs.StdOut;

public class SumOfTwoDices {
	
	public static void main(String[] args) {
		int SIDES = 6;
		
		int dice1 = (int)(Math.random() * SIDES) + 1;
		int dice2 = (int)(Math.random() * SIDES) + 1;
		
		StdOut.println(dice1+dice2);
	}

}

执行:

                                              

4. 日期在3/20~6/20为春季,输入一个日期(m-d),若是春季,为真;否则为假;

程序:

package com.shiyanlou;

import edu.princeton.cs.introcs.StdIn;
import edu.princeton.cs.introcs.StdOut;

public class SpringSeason {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int m = StdIn.readInt();
		int d = StdIn.readInt();
		
		boolean isSpring = (m == 3 && (d >= 20 && d <= 31)) || (m == 4 && (d >= 1 && d <= 30)) 
				|| (m == 5 && (d >= 1 && d <= 31)) || (m == 6 && (d >= 1 && d <= 20));
		
		StdOut.println(isSpring);

	}

}

执行:

                                                                 

5. 将笛卡尔坐标系的点(x,y)转换为极坐标(r, θ);

程序:

package com.shiyanlou;

import edu.princeton.cs.introcs.StdIn;
import edu.princeton.cs.introcs.StdOut;

public class CartesianToPolar {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double x = StdIn.readDouble();
		double y = StdIn.readDouble();
		
		double r = Math.sqrt(x*x + y*y);
		double theta = Math.atan2(y, x);
		
		StdOut.println("polar = (" + r + "," + theta + ")");

	}

}

执行:

6. 计算一个日期(y-m-d)对应的星期。公式:

d0∈{0,1,2,3,4,5,6}分别对应星期日~星期六。

程序:

package com.shiyanlou;

import edu.princeton.cs.introcs.StdIn;
import edu.princeton.cs.introcs.StdOut;

public class DayOfWeek {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String[] a = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
		int y = StdIn.readInt();
		int m = StdIn.readInt();
		int d = StdIn.readInt();
		
		int y0 = y - (14-m)/12;
		int x = y0 + y0/4-y0/100+y0/400;
		int m0 = m + 12*((14-m)/12) - 2;
		int d0 = (d + x + (31*m0)/12) % 7;
		
		StdOut.println(a[d0]);

	}

}

执行:

                               

7. 统计5个0~1的随机数的最小值、最大值、平均值、标准差;

程序:

package com.shiyanlou;

import edu.princeton.cs.introcs.StdOut;

public class Stats5 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double a = Math.random();
		double b = Math.random();
		double c = Math.random();
		double d = Math.random();
		double e = Math.random();
		
		double max = Math.max(Math.max(Math.max(Math.max(a, b), c), d), e);
		double min = Math.min(Math.min(Math.min(Math.min(a, b), c), d), e);
		double avg = (a+b+c+d+e)/5.0;
		double std = Math.sqrt((a-avg)*(a-avg) + (b-avg)*(b-avg) + (c-avg)*(c-avg) + (d-avg)*(d-avg) + (e-avg)*(e-avg));
	
		StdOut.println("max = " + max);
		StdOut.println("min = " + min);
		StdOut.println("avg = " + avg);
		StdOut.println("std = " + std);

	}
}

执行:

                       

8. 

0~3阶分别对应,规则是第n阶字符串为第n-1阶字符串+F+逆序(第n-1阶字符串)。

求任意n阶对应字符串。

程序:

package com.shiyanlou;

import edu.princeton.cs.introcs.StdIn;
import edu.princeton.cs.introcs.StdOut;

public class Dragon {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int N = StdIn.readInt();
		
		String start = "F";
		String left = start;
		String right = start;	
		
		for (int i = 0; i < N; i++) {	
			left =  left + "L" + right;
			right = left + "R" + right;
		}
		
		StdOut.println(left);
	}

}

执行:

                                                   

9. 输入一个年份(year),判断是否是闰年;

程序:

package com.shiyanlou;

import edu.princeton.cs.introcs.StdIn;
import edu.princeton.cs.introcs.StdOut;

public class LeapYear {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int year = StdIn.readInt();
		
		StdOut.println((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0));
	}

}

执行:

                                        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值