JavaSE-习题-循环结构等

news2024/12/24 2:27:39

第 1 题(编程题)

题目名称:

打印 X 图形

题目内容:

https://www.nowcoder.com/practice/83d6afe3018e44539c51265165806ee4

假设i代表行,j代表列,当i==j 或者 i+j+1 == n,此时为星号。其余的都是空格。

如图, 把它想成平面直角坐标系, 发现i==j或i+j==n的时候, 分别是两根直线关于横纵坐标轴的方程表达式

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < n; j++) {
                    if(i==j || i + j == n-1 ){
                        System.out.print("*");
                    }
                    else{
                        System.out.print(" ");
                    }
                }
                System.out.println(" ");
            }
        }
    }
}

第 2 题(编程题)

题目名称:

计算分数的值

题目内容:

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。

思路:

1. 从上述表达式可以分析出

  a. 该表达式主要由100项,基数项为正,偶数项为负

2. 设置一个循环从1~100,给出表达式中的每一项:1.0/i, 注意此处不能使用1,否则结果全部为0

  然后使用flag标记控制奇偶项,奇数项为正,偶数项为负

  然后将所有的项相加即可

public static void main(String[] args) {

    double sum = 0;
    int flg = 1;
    for (int i = 1; i <= 100; i++) {
        sum += 1.0/i * flg;
        flg = -flg;
    }
    System.out.println(sum);
}

第 3 题(编程题)

题目名称:

输出一个整数的每一位

题目内容:

输出一个整数的每一位,如:123的每一位是3,2,1

本题主要考虑,如何获取一个数字的每一位:

123 % 10 = 3

123/10=12 12%10=2

12/10=1 1%10= 1

代码如下:

public static void main(String[] args) {
	int n = 123;
	while (n != 0) {
		System.out.println(n % 10);
		n /= 10;
	}
}

第 4 题(编程题)

题目名称:

模拟登陆

题目内容:

编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序

本题注意考察,字符串怎么比较相同?使用方法equals。

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int count = 3;
        while (count != 0){
            System.out.print("请输入>");
            String password = in.nextLine();
            count--;
            if(password.equals("123abc")){
                System.out.println("密码正确 登陆成功");
                break;
            }
            else {
                System.out.println("密码错误");
                System.out.println("剩余" + count +"次机会");
            }
        }
        if (count == 0){
            System.out.println("机会耗尽 登录失败");
        }
    }

第 5 题(编程题)

题目名称:

使用函数求最大值

题目内容:

创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。

​ 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算

public static int max2(int a,int b) {
	return a > b ? a:b;
}

public static int max3(int a,int b,int c) {
	int max = max2(a,b);
	return max > c ? max : c;
}
public static void main(String[] args) {
	System.out.println(max3(2, 5, 1));
}

第 6 题(编程题)

题目名称:

斐波那契数列

题目内容:

求斐波那契数列的第n项。(迭代实现)

斐波那契数列定义为:1 1 2 3 5 8 13 21 我们可以看到,从第3项开始,都等于前一项+前一项的前一项的和。

3=1+2

5+2+3

13 = 5+8

我们可以先定义f1保存第一项的值,f2保存第2项的值,f3保存第3项的值。

每次算法一个f3,就同步更新f1和f2的值。

public static int fib(int n) {
      if(n == 1 || n == 2 ) {
           return 1;
      }
      int f1 = 1;

      int f2 = 1;

      int f3 = 1;

      for (int i = 3; i <= n; i++) {

          f3 = f1+f2;

          f1 = f2;

          f2 = f3;

      }

      return f3;

  }

第 7 题(编程题)

题目名称:

求和的重载

题目内容:

在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码,求出结果

重载满足的几个条件:

  1. 方法名相同
  2. 参数列表不同(数据类型,个数,顺序)
  3. 返回值无关
    public static int sum(int a,int b) {
        return a+b;
    }
    
    public static double sum(double a,double b,double c) {
        return a+b+c;
    }

第 8 题(编程题)

题目名称:

求最大值方法的重载

题目内容:

在同一个类中定义多个方法:要求不仅可以求2个整数的最大值,还可以求3个小数的最大值?

重载:

  1. 方法名相同
  2. 参数列表不同(数据类型,个数,顺序)
  3. 返回值无关

本题可以借助Java原生类Math当中的max方法求最大值,当然也可以自己通过If else进行比较。

Math的使用 不需要导入相关的包

public static int max(int a,int b) {
    return Math.max(a,b);
}

public static double max(double a,double b,double c) {

    double m = Math.max(a,b);
    return Math.max(m,c);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1277712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

杨志丰:OceanBase助力企业应对数据库转型深水区挑战

11 月 16 日&#xff0c;OceanBase 在北京顺利举办 2023 年度发布会&#xff0c;正式宣布&#xff1a;将持续践行“一体化”产品战略&#xff0c;为关键业务负载打造一体化数据库。OceanBase 产品总经理杨志丰发表了《助力企业应对数据库转型深水区挑战》主题演讲。 以下为演讲…

SmartSoftHelp8,SQL语句美化,格式化,压缩

SQL语句美化&#xff0c;格式化&#xff0c;压缩 下载地址&#xff1a;https://pan.baidu.com/s/1zBgeYsqWnSlNgiKPR2lUYg?pwd8888

在oracle中的scn技术

SCN可以说是Oracle中一个很基础的部分&#xff0c;但同时它也是一个很重要的。它是系统中维持数据的一致性和顺序恢复的重要标志&#xff0c;是数据库非常重要的一种数据结构。 转载&#xff1a;深入剖析 - Oracle SCN机制详细解读 - 知乎 (zhihu.com)https://zhuanlan.zhihu.…

【计算机概论 ①】- 电脑:辅助人脑的好工具

目录 一、电脑硬件的五大单元 二、一切设计的起点&#xff1a;CPU 的架构 三、其他单元的设备 四、运行流程 五、电脑的分类 六、电脑上面常用的计算单位&#xff08;容量、速度等&#xff09; 操作系统跟硬件有相当程度的关联性&#xff0c;所以&#xff0c;如果不了解一…

详解原生Spring框架下的类切入点表达式与切入点函数

&#x1f609;&#x1f609; 学习交流群&#xff1a; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 &#x1f96d;&#x1f96d;3&#xff1a;QQ群&#xff1a;583783…

汉威科技家电传感器解决方案,助力智能家电市场蓬勃发展

2017年以来&#xff0c;我国家电市场承压前行&#xff0c;零售总额基本保持在9000亿元左右&#xff0c;虽然距离万亿市场只有一步之遥&#xff0c;却一直未能企及。随着物联网、传感器、AI、云计算、大数据、5G等技术的快速发展迭代&#xff0c;智能家电成为行业转型发展的突破…

C语言结构体详解(一)(能看懂文字就能明白系列)

&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;个人主页&#xff1a; 古德猫宁- &#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;…

re:Invent大会,亚马逊云科技为用户提供端到端的AI服务

11月末&#xff0c;若是你降落在拉斯维加斯麦卡伦国际机场&#xff0c;或许会在大厅里看到一排排AI企业和云厂商相关的夸张标语。走向出口的路上&#xff0c;你的身边会不断穿梭过穿着印有“AI21Lab”“Anthropic”等字样的AI企业员工。或许&#xff0c;你还会被机场工作人员主…

6大关键词:尝新/随心/低忠诚···,全面解读食品饮料行业发展趋势与消费者洞察|徐礼昭

内容&#xff1a;重构零售实验室&商派 《2023食品饮料行业零售数字化洞察报告》节选 作者&#xff1a;徐礼昭&#xff08;商派市场负责人&#xff0c;重构零售实验室负责人&#xff09; 如今品牌的影响力不再止于资本与业绩数字&#xff0c;更多是在产品核心价值以及消费…

Django HMAC 请求签名校验与 Vue.js 实现安全通信

概要 在 Web 应用的开发过程中&#xff0c;确保数据传输的安全性和完整性是一个不容忽视的问题。使用 HMAC&#xff08;Hash-based Message Authentication Code&#xff09;算法对请求内容进行签名校验&#xff0c;是一种常见且有效的安全策略。本文将详细介绍如何在 Django …

Git 简介及异常场景处理

一、简介 介绍Git之前&#xff0c;还得先介绍下 版本控制系统&#xff08;VCS&#xff09;&#xff0c; 和它的发展历史 纵观版本控制系统的发展历史&#xff0c;广义上讲&#xff0c;版本控制工具的历史可以分为三代&#xff1a; 第一代 第一代版本控制系统被称为本地版本控…

组合(回溯+剪枝、图解)

77. 组合 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 样例输入 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],…

LORA概述: 大语言模型的低阶适应

LORA概述: 大语言模型的低阶适应 LORA: 大语言模型的低阶适应前言摘要论文十问实验RoBERTaDeBERTaGPT-2GPT-3 结论代码调用 LORA: 大语言模型的低阶适应 前言 LoRA的核心思想在于优化预训练语言模型的微调过程&#xff0c;通过有效地处理权重矩阵的变化&#xff08;即梯度更新…

Docker中部署并启动RabbitMQ

目的 由于最近频繁更换云服务器&#xff0c;导致环境啥的都需要重新配置&#xff0c;关于RabbitMQ&#xff0c;我在看其他博主的文章时&#xff0c;总是不能第一时间找到想要的配置方法&#xff08;也不是没有&#xff0c;只是花的时间太久&#xff09;&#xff0c;于是打算自己…

接口响应时长几十秒问题排查以及解决

目录 背景 解决方案 总结 背景 线上系统运行几年后&#xff0c;被项目上提bug&#xff0c;有些接口响应很慢&#xff0c;加载页面要几十秒 解决方案 1、步骤一&#xff0c;加索引 性能优化成本高&#xff0c;需要开发周期&#xff0c;临时方案先分析慢sql&#xff0c;通过增…

C语言——深入理解指针(4)

目录 1.回调函数 2. qsort 函数的使用 2.1 排序整型数据 2.2 排序结构体数据 3. qsort 函数的模拟实现 1.回调函数 回调函数就是通过一个函数指针调用的函数。 你把函数的地址作为参数传递给另一个函数&#xff0c;当这个指针被用来调用其所指向的函数时&#xff0c;被调…

Linux:查看端口占用的进程

命令 netstat -tunlp可以从图中看到&#xff0c;端口被那个进程占用&#xff0c;对应进程的pid是多少。

软件测试工程师如何面试?

首先作为HR的角度&#xff1a; 一般我们面试的时候都会问应聘者一些问题&#xff0c;但是问什么&#xff1f;怎么问&#xff1f;每个HR都会有不同的做法。 有的HR问的比较广泛&#xff0c;有的HR比较注重专业度&#xff0c;还有的HR喜欢问一些开放性的问题&#xff0c;没有标…

版本控制系统Git学习笔记-Git分支操作

文章目录 概述一、Git分支简介1.1 基本概念1.2 创建分支1.3 分支切换1.4 删除分支 二、新建和合并分支2.1 工作流程示意图2.2 新建分支2.3 合并分支2.4 分支示例2.4.1 当前除了主分支&#xff0c;再次创建了两个分支2.4.2 先合并test1分支2.4.3 合并testbranch分支 2.5 解决合并…

智慧工地一体化解决方案(里程碑管理)源码

智慧工地为管理人员提供及时、高效、优质的远程管理服务&#xff0c;提升安全管理水平&#xff0c;确保施工安全提高施工质量。实现对人、机、料、法、环的全方位实时监控&#xff0c;变被动“监督”为主动“监控”。 一、建设背景 施工现场有数量多、分布广&#xff0c;总部统…