将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。(需考虑多种不合法的情况尽量转化为合法的)

//华氏温度与摄氏温度转换,编写一个程序,将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。

//要求程序运行时从控制台读入温度值及单位,并输出另一种温度值及单位,例如:若用户输入27 C则

//程序输出 81F;若用户输入96 F,则程序输出36 C(其中C代表摄氏温度,F代表华氏温度),华氏温度与摄氏温度转化的公式为:

//C = 5 (F - 32) / 9

//F = 9 C / 5 + 32

//要求输入的温度值是整数,输出的温度值也是四舍五入后的整数.

package 第三天_练习题;

import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个温度");
		String str = sc.nextLine();//读取一个字符串,不要写sc.next();虽让也是读取字符串,但是它只是以空格作为分隔符
		str=str.trim().toUpperCase();//去掉前后空格和全转为大写
		if(str!=null && str.indexOf("C")!=-1)//其实str!=null可以不用写了,因为上面的代码说明str不为空!
		{
			//摄氏转华氏
			String numStr=str.substring(0,str.indexOf("C")).trim();//比如7 CCd,结构就是: 7  C
			int num=Integer.parseInt(numStr); //结果就是7
			double doub=9*num/5.0+32;
			int dd=(int)(doub+0.5);//比较优雅的方式,比如3.4+0.5取整还是3,3.5+0.5取整就是4
			int dd2=(int)doub+((int)(doub*10)%10>5?1:0);//先取整在把这个数字乘以10取出个位数是否大于5(用到三目运算符)
			System.out.println(num+"C摄氏(C)转华氏(F)的结果是"+dd+"F");
		}
		else if(str!=null && str.indexOf("F")!=-1)
		{
			String numStr=str.substring(0,str.indexOf("F")).trim();
			int num=Integer.parseInt(numStr);
			double doub=5*(num-32)/9.0;
			int dd=(int)(doub+0.5);

			int dd2=(int)doub+(int)(doub*10)%10>5?1:0;
			System.out.println(num+"华氏(F)转摄氏(C)后的结果是"+dd+"C");
		}

	}

}
时间: 2024-10-24 05:39:56

将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。(需考虑多种不合法的情况尽量转化为合法的)的相关文章

c语言将字符串转成int,将int转成字符串。附带任意进制转换函数

在网上看到各种将字符串转成int,和int转成字符串的方法.我自己比较喜欢用的方法是下面的,记住模板就行,最开始我也老是记不住,找到规律,多用几遍就好了. 1.将字符串转成int char s[20] = "123456";   // 注如果此处不是数字字符串类型,如下面的字符串  12abc -->  12        ab12 --> 0 int a = 0; sscanf(s,"%d",&a);   // a = 123456   就得到

( # #@ ## 在define中的应用)或( 连接两个字符串或者两个数字、强制转化成单引号、强制转化成双引号 )附加字符串强制转化成数字

1. 修改成常用的几个连接表示L与x连接. 以下来自网络:#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #x x##y表示什么?表示x连接y,举例说:int n = Conn(123,456); 结果就是n=123456;char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";怎么样,很神奇吧 再来看#@x,其实就是给x

HTML5将图片转化成字符画

HTML5将图片转化成字符画 字符画大家一定非常熟悉了,那么如何把一张现有的图片转成字符画呢?HTML5让这个可能变成了现实,通过canvas,可以很轻松实现这个功能.其实原理很简单:扫描图片相应位置的像素点,再计算出其灰度值,根据灰度值的大小,分别用字符#*+“和空格来填充.下面是源码:HTML:一个canvas元素#cv,一个字符画容器#txt . 1 <canvas id="cv">fuck ie</canvas> 2 <div id="t

1、AJAX里面status的值代表什么 2、get post 的区别 3、怎样把对象转化成字符串 4、闭包、继承、原型、原型链 5 、http传输协议 6、arguments是什么

1.AJAX里面status的值代表什么     在JavaScript里面写AJax的时,最关键的一步是对XMLHttpRequest对象建立监听,即使用"onreadystatechange"方法.监听的时候,要对XMLHttpRequest对象的请求状态进行判断,通常是判断readyState的值为4且status的值为200或者304时执行我们需要的操作.以下记录了一些常用readState以及status的值及其含义 readyState 属性表示Ajax请求的当前状态.它的

使用vmware-vdiskmanager.exe将多个vmdk文件转化成一个vmdk文件

在某些应用场合中需要将多个vmdk文件转化成一个vmdk文件. DOS命令终端执行可执行文件E:\Program Files\VMware Workstation>vmware-vdiskmanager.exe,其中E:\Program Files\VMware Workstation为VM的安装路径 vmware-vdiskmanager.exe的常用参数如下所示 E:\Program Files\VMware Workstation>vmware-vdiskmanager.exe VMwa

怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图?

  分类: OpenCV [Q1]怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图? 进行灰度化,IplImage* pImg = cvLoadImage( "C:\\1.bmp", 0 ); 这样图像已经灰度化,然后调用cvThreshold(image, image, 125, 255, CV_THRESH_BINARY); 就可以了,125那里是你所用的阈值,这就是最简单的二值化,你要用ostu,或者别的高级一点的,就要自己写函数了   // Truncate v

格雷码与二进制码转化成格雷码

在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),格雷码由0和1组成,由二进制码演化而成. 格雷码生成方法如下: 1位格雷码有两个码字 (n+1)位格雷码中的前2n个码字等于n位格雷码的码字,按顺序书写,加前缀0 (n+1)位格雷码中的后2n个码字等于n位格雷码的码字,按逆序书写,加前缀1 举例如下: 1位格雷码: 0 1 2位格雷码: 总共有2^2个码字,前一半的码字为1位的格雷码按顺序书写加前缀0,后一半的码字为1位格雷码逆序书写加前缀1

二叉排序树转化成双向链表

题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入的第一行为一个数n(0<n<1000),代表测试样例的个数. 接下来的n行,每行为一个二叉搜索树的先序遍历序列,其中左右子树若为空则用0代替. 输出: 对应每个测试案例, 输出将二叉搜索树转换成排序的双向链表后,从链表头至链表尾的遍历结果. 样例输入: 1 2 1 0 0 3 0 0 样例输出: 1 2 3 思

TMS320DM642中一种彩色图像转化成灰度图像算法

摘要:数字图像中,一般将其他格式图像转化成灰度图像,以使后续的图像计算量变少一些. 平台:Windows10+CCS5.5+TMS320DM642 实现: /* ======================================================================== */ /* Copyright 2006 by Wintech Digital System Technology Corp. */ /* All rights reserved. Prope