首页 > 编程语言 >JAVA1 类型转换 题目

JAVA1 类型转换 题目

时间:2024-06-13 12:31:22浏览次数:25  
标签:类型转换 题目 Scanner int double System JAVA1 static public

题目

JAVA1 类型转换

描述
设计一个方法,将一个小于2147483647的double类型变量以截断取整方式转化为int类型
 
输入描述:
随机double类型变量
 
输出描述:
转化后的int类型变量

示例:

输入:12.34

输出:12
输入:1.88

输出:1

分析:

1.需要编写一个方法。

2.方法需要把double类型变量变为int类型变量。

3.截断取整方式转化。

 

代码:

1.使用round函数(四舍五入函数)。

2.确定小数点后一位的值。

3.小数也分为负数和正数。

4.确定的值大于等于5,使用四舍五入比结果大1,减去1(负数+1).

import java.util.Scanner;

import static java.lang.Math.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        System.out.println(Main.typeConversion(d));
    }
    public static int typeConversion(double d){

        int i;
        double temp;
        temp=d*10%10;
        if(d>=0){
            if(temp>=5){
                
                i=(int)(round(d)-1);
            }else {
                
                i=(int)(round(d));
            }
        }else {
            
            if(abs(temp)>=5){
                
                i=(int)(round(d)+1);
            }else {
                
                i=(int)(round(d));
            }
        }

        return i;
    }
}

 
 
 

1.使用ceil函数(向上取整函数)。

2.确定该数是否有小数部分,没有小数部分按照负数一样处理。

3.有小数,且为正数,向上取整,结果要减去1。

import java.util.Scanner;

import static java.lang.Math.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        System.out.println(Main.typeConversion(d));
    }
    public static int typeConversion(double d){

        int i;
       
        double dd=d%1;
        
        if(d>=0 && dd!=0){
            i=(int)(ceil(d)-1);
        }else{
            i=(int)(ceil(d));
        }


        return i;
    }
}

 
 
 

1.使用floor函数(向下取整函数)。

2.确定该数是否有小数部分,没有小数部分按照正数一样处理。

3.有小数,且为负数,向下取整,结果要+1。

import java.util.Scanner;

import static java.lang.Math.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        System.out.println(Main.typeConversion(d));
    }
    public static int typeConversion(double d){

         int i;

        double dd=d%1;
        if(d<=0 && dd!=0){
            i=(int)(floor(d)+1);
        }else{
            i=(int)(floor(d));
        }

        return i;
    }
}

 
 

大佬代码:

double的范围比int大,所以是要强转,直接用(int)就行。

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        System.out.println(Main.typeConversion(d));
    }
    public static int typeConversion(double d){
        return (int)d;
    }
}

 
 

使用装箱和拆箱 来解题

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        System.out.println(Main.typeConversion(d));
    }
    public static int typeConversion(double d) {
 
        Double e = new Double(d);
        int i = e.intValue();
        return i;
    }
}

标签:类型转换,题目,Scanner,int,double,System,JAVA1,static,public
From: https://blog.csdn.net/m0_57463864/article/details/139650955

相关文章

  • 大厂面试高频题目——图论
    797.所有可能的路径给你一个有n个节点的有向无环图(DAG),请你找出所有从节点0到节点n-1的路径并输出(不要求按特定顺序)graph[i]是一个从节点i可以访问的所有节点的列表(即从节点i到节点graph[i][j]存在一条有向边)。思考深搜dfs模板题。classSolution:def__in......
  • 一步步了解C++类型转换:static_cast、const_cast、reinterpret_cast和dynamic_cast
    1. static_caststatic_cast 可以用于基础类型之间的转换,类层次结构中的父类和子类之间的转换,以及把 void* 转换成目标类型的指针等。静态类型转换示例:#include<iostream>classBase{};classDerived:publicBase{};intmain(){//基础数据类型int......
  • JS类型转换面试题:[] == ![] 为true?
    前言OK,又是在学习的路上遇到了难点,今天拿来分享一哈。ok,话不多说,开始分享。下面是一道面试题console.log([]==![])你觉得上面的值打印为多少?我告诉你,打印的结果是true。如果你是猜对的或者不会可以看看我对这个问题的深度解剖,如果有大哥已经了解也欢迎在评论区指教一......
  • 神奇的JavaScript弱等价类型转换
    JavaScript语言特性-类型转换JavaScript这门语言的类型系统从来没有它表面看起来的那样和善,虽然比起Java、C#等一众强类型语言,它的弱类型使用起来似乎是如此便利,但正因为它极高的自由度,所以才会衍生出令人摸不着头脑的荒诞行为。举个例子,虽然我们都知道一个包含内容的字符串会......
  • 2024年全国高考作文题目汇总
    2024全国高考作文题目汇总新课标I卷阅读下面的材料,根据要求写作。(60分)随着互联网的普及、人工智能的应用,越来越多的问题能很快得到答案。那么,我们的问题是否会越来越少?以上材料引发了你怎样的联想和思考?请写一篇文章。要求:选准角度,确定立意,明确文体,自拟标题;不要套作,不得抄......
  • 2024年高考作文题目人工智能,热门AI
    当今社会的发展越来越迅速,人工智能也逐步走进我们的生活,连今年的高考作文题目也是人工智能高考作文:新课标I卷阅读下面的材料,根据要求写作。(60分)随着互联网的普及、人工智能的应用,越来越多的问题能很快得到答案。那么,我们的问题是否会越来越少?以上材料引发了你......
  • 蓝桥杯软件测试第十五届蓝桥杯模拟赛1期题目解析
    PS需要第十五界蓝桥杯模拟赛1期功能测试模板、单元测试被测代码、自动化测试被测代码请加......
  • 浙大版PTA python程序设计 第四章题目及知识点解析整理
    第四章--1--在循环中continue语句的作用是(结束本次循环)退出循环的当前迭代  √ 带有else子句的循环如果因为执行了break语句而退出的话,会执行else子句的代码。×因为break是跳出整个循环,所以如果循环体内有else子句,且循环是通过break退出的,那么else子句中的代码也不......
  • 第四章: 全面梳理Java 标识符变量的声明,基本数据类型,String类型以及相互之间的类型
    1.关键字和保留字关键字(keyword)是指被Java语言赋予了特殊含义,用做专门用途的字符串(单词)其特点就是关键字中所有字母都为小写官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html保留字(reservedword)是当前Java版本尚未使用,但以......
  • C++~~期末复习题目讲解---lijiajia版本
    目录1.类和对象(3)创建对象的个数(3)全局变量,局部变量(4)构造函数的执行次数(5)静态动态析构和构造顺序(6)初始化顺序和声明顺序(7)构造和复制构造(8)拷贝构造的三种情况和例题讲解2.继承和派生(1)派生的构造和析构(2)赋值的兼容性规则3.虚函数1.类和对象(1)类和对象的三个特征:封......