新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用这个肯定可以了,选用测试数据
成都创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为田家庵企业提供专业的网站制作、成都网站制作,田家庵网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
12摄氏温度= 53.6华氏温度
import java.util.InputMismatchException;
import java.util.Scanner;
public class Temperature {
private float temprature;//温度数值
private char unit; //'C' for Celsius, 'F' Fahrenheit//温度单位
public Temperature() {//无参构造
this.temprature = 0.0F;
this.unit = 'C';
}
public Temperature(float temprature, char unit) {//2参数构造
this.temprature = temprature;
this.unit = String.valueOf(unit).toUpperCase().charAt(0);//确保计量单位都为大写字//母方便后面比较
}
public static void main(String args[]){
Temperature t1 = new Temperature();//第一种构造应用
Temperature t2 = new Temperature(0.0F, 'c');//第二种构造
getTemperatureValueFromInput(t1, t2);//接收键盘输入保存温度数
getTemperaturUnitFromInput(t1, t2);//接收键盘输入保存温度单位
System.out.println("Tempearture 1 is: " + t1.toString());//输出要比较的温度1
System.out.println("Tempearture 2 is: " + t2.toString());//输出要比较的温度2
System.out.println(t1.toString() + " = " + t2.toString() + "? "+ t1.equal(t2));//相等么
System.out.println(t1.toString() + " " + t2.toString() + "? "+ t1.isHigher(t2));//大于么?
System.out.println(t1.toString() + " " + t2.toString() + "? "+ t1.isLower(t2));//小于?
}
//从键盘依次接受温度值
private static void getTemperatureValueFromInput(Temperature t1, Temperature t2) {
// input value for temperature t1 and t2
int count = 1;
while(count = 2){
try{
System.out.println("Please input value for temperature " + count);
Scanner scanner = new Scanner(System.in);
if(count == 1){
t1.setTempratureValue(scanner.nextFloat());
}else{
t2.setTempratureValue(scanner.nextFloat());
}
count++;
}catch(InputMismatchException mismatchExp){
System.out.println("Invalid value for tempartue!");
continue;
}
}
}
//从键盘依次接受单位并提供相应出错处理
private static void getTemperaturUnitFromInput(Temperature t1, Temperature t2) {
//input unit for temperature t1 and t2
int unitCount = 1;
while(unitCount = 2){
try{
System.out.println("Please input unit for temperature " + unitCount);
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
if(str.trim().length() 1){
System.out.println("Invalid length for tempartue unit!");
continue;
}
char unit = str.trim().toUpperCase().charAt(0);
if(str.trim().equalsIgnoreCase("C") || str.trim().equalsIgnoreCase("F")){
if(unitCount == 1){
t1.setUnit(unit);
}else{
t2.setUnit(unit);
}
}else{
System.out.println("Invalid unit character for tempartue unit!");
continue;
}
unitCount++;
}catch(InputMismatchException mismatchExp){
System.out.println("Invalid value for tempartue unit!");
continue;
}
}
}
//转换成摄氏温度
public Temperature toCelsius(){
if(unit == 'C'){
return this;
}else{
return new Temperature((float)5F*(temprature - 32F)/9F, 'C');
}
}
//转换成华氏温度
public Temperature toFahrenheit(){
if(unit == 'F'){
return this;
}else{
return new Temperature((float)(9F*(temprature)/5F)+32F, 'F');
}
}
public void setTempratureValue(float temprature) {//设置温度值
this.temprature = temprature;
}
public void setUnit(char unit) {//设置单位
this.unit = unit;
}
public void setTemprature(float value, char unit){
this.temprature = value;
this.unit = unit;
}
public boolean equal(Temperature t2){//判断相等
t2 = convertToSameUnit(t2);
return t2.temprature == this.temprature;
}
public boolean isHigher(Temperature t2){//判断大于
t2 = convertToSameUnit(t2);
return this.temprature t2.temprature;
}
public boolean isLower(Temperature t2){//判断小鱼
t2 = convertToSameUnit(t2);
return this.temprature t2.temprature;
}
private Temperature convertToSameUnit(Temperature t2) {//转换成同样计量单位
if(t2.unit != unit){
if(t2.unit == 'C'){
return t2.toFahrenheit();
}else{
return t2.toCelsius();
}
}
return t2;
}
public String toString(){//重写toString方法
return temprature + " " + unit;
}
}
----------------
Please input value for temperature 1
a
Invalid value for tempartue!
Please input value for temperature 1
Please input value for temperature 2
bbbb
Invalid value for tempartue!
Please input value for temperature 2
32
Please input unit for temperature 1
a
Invalid unit character for tempartue unit!
Please input unit for temperature 1
ef
Invalid length for tempartue unit!
Please input unit for temperature 1
c
Please input unit for temperature 2
ss
Invalid length for tempartue unit!
Please input unit for temperature 2
F
Tempearture 1 is: 0.0 C
Tempearture 2 is: 32.0 F
0.0 C = 32.0 F? true
0.0 C 32.0 F? false
0.0 C 32.0 F? false
-----测试结果2
Please input value for temperature 1
12
Please input value for temperature 2
66
Please input unit for temperature 1
c
Please input unit for temperature 2
f
Tempearture 1 is: 12.0 C
Tempearture 2 is: 66.0 F
12.0 C = 66.0 F? false
12.0 C 66.0 F? false
12.0 C 66.0 F? true
------测试结果3
Please input value for temperature 1
12
Please input value for temperature 2
52
Please input unit for temperature 1
c
Please input unit for temperature 2
f
Tempearture 1 is: 12.0 C
Tempearture 2 is: 52.0 F
12.0 C = 52.0 F? false
12.0 C 52.0 F? true
12.0 C 52.0 F? false
亲,代码自己写哦,这里是思路:新建一个类,实现runnable接口,重写run方法,该类有两个主要成员变量(其他按需要添加),小鱼仔的y坐标和x坐标,一个方法paintfish(Graphics g){}(随意,必须有画笔Graphics g),如果图片上的两条小鱼仔是同一张图片那么用这个方法去画g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer);具体用法查看API,这里不做解释,核心在run方法,先获得窗体宽度,判断如果小鱼仔已经游出了窗体外,重置位置(当然你想让他再往回游也可以),速度的控制通过一个int型变量来实现初始值1000(随意,数值越小游得越快),希望对你有帮助,有问题可以继续提问
应该是implements一个runnable
然后在run里写代码。
long time1 ;
while(true){//自己在循环里设置退出循环的条件。
time1 = System.currentTimeMillis();
x++;//这里随便写了,每次循环改变一次位置就是动画了。
long elapsed = System.currentTimeMillis() - time1;
if(elapsed50){//每帧固定50毫秒
sleep(50-elapsed);//休眠,以便每帧都可以达到50
}
}
图片定义、载入,定义在类,,,,,使用定时器、或线程,不断绘不同的图片
~~~~
快速计算平方数可以使用这样一个递推公式:n 的平方数,和 n-1 的平方数的关系为 n^2 - (n-1)^2 = 2n - 1 ,也就是说要计算 n 的平方数,只需要将 n-1 的平方数加上 2n-1 即可,所以程序可以这样来写:
首先找到 Long.MAX_VALUE 的开方这个数,向下取整得到 n-1,它的平方就是小于 Long.MAX_VALUE 的最后一个平方数,因此首先要计算一下它的平方 s0。之后使用递推公式,n^2 = s+2*n-1 即得到了大于 Long.MAX_VALUE 的第一个平方数 s1,依次循环即可得到最终结果,代码如下:
import java.math.BigInteger;
/**
* Created by 鱼鱼FrankFLY
* 2019/5/31~19:15
*/
public class Exc10_17 {
public static void main(String[] args) {
long n0 = 0; // n0 即 n-1
n0 = (long) Math.sqrt(Long.MAX_VALUE); // 计算 Long.MAX_VALUE 开方并向下取整,得到 n0
BigInteger s0 = new BigInteger((n0 * n0) + ""); // 计算小于 Long.MAX_VALUE 的最后一个平方数
BigInteger n = new BigInteger((n0 + 1) + ""); // n
BigInteger s = new BigInteger(s0 + ""); // 平方数,从 s0 开始计算
final BigInteger one = new BigInteger("1"); // 常数 1
final BigInteger two = new BigInteger("2"); // 常数 2
final BigInteger None = new BigInteger("-1"); // 常数 -1
for (int i = 0; i 10; i++) { // 循环 10 次
// n^2 = (n-1)^2 + n*2 - 1
s = s.add(n.multiply(two).add(None)); // 计算 n 的平方
n = n.add(one); // 得到 n+1
System.out.println(s); // 输出
}
}
}
结果截图:
该回答来自 鱼鱼FrankFLY,任何模仿和抄袭的回答都将追责。