IDEA上配置并运行Scala

news2024/11/18 7:25:33

这里使用 java17 和 Scala3.2.2作为演示
scala版本
其中, IDEA 版本为2022.3.2
IDEA version
首先,要安装scala插件
scala plugin
Of course, you can also install third one above to format you scala program!


example

个人认为 Build system 选择 Intellij 比较方便!
然后,直接 create project即可

这里给出Scala 在线编程网址
并附上示例代码:

/**
 * @author 一只小汪汪鸭
 * @description org.example
 * @data 10:12 17/02/2023
 * */
class  Person {
  def main(args: Array[String]): Unit = {
    val c=matchAge(65)
    println(c)
  }
  def matchAge(age:Int)={
    var classify=if(age<12){
      "童年"
    }else if(age>=12 && age<30){
      "青年"
    }else if(age>=30 && age<50) {
      "中年"
    }else if(age>=30 && age<50){
      "壮年"
    }else{
      "老年"
    }
    classify
  }
}

需要将class改为object,至于为什么要改,这里做出解释!

  • Scala 类的构造器包括:主构造器和辅助构造器
class  类名(形参列表) {	// 主构造器
	// 类 体
	def	this(形参列表) {	// 辅助构造器
	}
	
	def	this(形参列表) {	// 辅助构造器可以有多个...
	}
}
  • 在 Scala 中,classobject分别有不同的含义和用途。

  • class是定义一个类的关键字,用于定义类的成员变量和成员方法。在 Scala 中,类只是一种模板或蓝图,用于创建对象的实例。因此,如果只定义了一个类,而没有创建实例,是无法执行任何操作的。

  • object是一种单例对象,用于定义静态方法、变量和常量。在 Scala 中,每个object都是单例的,只有一个实例,并且可以直接访问其中定义的方法、变量和常量,无需创建实例。因此,如果要在 Scala 中定义一些静态变量、常量或方法,应该使用object来定义。

  • 在运行 Scala 程序时,必须要有一个入口点。当程序包含一个单独的class时,必须在该class中定义一个静态的main方法作为程序入口点。而当程序包含一个或多个object时,可以直接在object中定义main方法作为程序入口点,无需创建实例。

  • 因此,当需要在 Scala 中创建一个独立的程序时,应该使用object来定义程序的入口点,并在其中定义main方法。

Click this button:
click button

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

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

相关文章

jvm中指定时区信息user.timezone

问题 同一份程序使用时间LocalDateTime类型&#xff0c;在国内和国外部署后&#xff0c;返回的时间信息前端使用出问题。 因为LocalDateTime不带时区信息&#xff0c;国内调用后&#xff0c;前端页面默认使用的浏览器所在os的时区&#xff08;我们的系统中没有给用户设置时区&…

Apache Beanutils为什么被禁止使用?

收录于热门专栏Java基础教程系列&#xff08;进阶篇&#xff09; 在实际的项目开发中&#xff0c;对象间赋值普遍存在&#xff0c;随着双十一、秒杀等电商过程愈加复杂&#xff0c;数据量也在不断攀升&#xff0c;效率问题&#xff0c;浮出水面。 问&#xff1a;如果是你来写…

09 OpenCV图形检测

1 轮廓描边 cv2.findContours() 函数是OpenCV中用于寻找轮廓的函数之一。它可以用于在二值图像中查找并检测出所有的物体轮廓&#xff0c;以及计算出这些轮廓的各种属性&#xff0c;例如面积、周长、质心等。 cv2.findContours() 函数的语法如下&#xff1a; contours, hiera…

张杰清唱高启强专属BGM简直就是天作之合,千万别点进来看

张杰清唱高启强专属BGM简直就是天作之合&#xff0c;千万别点进来看&#xff0c;#张杰#BGM#音乐 张杰演唱的《听》狂飙高启强自从出现在抖音上更是火得不可思议&#xff0c;它成为了不少年轻人喜爱的BGM&#xff0c;尤其是用它作为专属BGM的抖音视频更是受到网友的一致好评。 …

详解如何在ChatGPT内构建一个Python解释器

这篇文章主要为大家详细介绍了如何在ChatGPT内构建一个Python解释器&#xff0c;文中的示例代码讲解详细&#xff0c;具有一定的学习价值&#xff0c;需要的可以参考一下目录引用&#xff1a;Art Kulakov 《How to Build a Python Interpreter Inside ChatGPT》这个灵感来自于一…

Day892.MySql读写分离过期读问题 -MySQL实战

MySql读写分离过期读问题 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于MySql读写分离过期读问题的内容。 一主多从架构的应用场景&#xff1a;读写分离&#xff0c;以及怎么处理主备延迟导致的读写分离问题。 一主多从的结构&#xff0c;其实就是读写分离的基本…

Java SE(1)——JDK安装,基本数据类型和运算

JDK安装&#xff0c;基本数据类型和运算 一 Java语言的初体验 1.JDK下载地址 Oracle官网&#xff1a; Java Downloads | Oracle&#xff0c;根据需要&#xff0c;下载最新或历史版本。 2.运行Java文件 编写一个简单的 HelloWorld.java 文件 public class HelloWorld{publ…

提供网络可测试的接口【公共Webservice】

提供网络可测试的接口 1、腾讯QQ在线状态 WEB 服务 Endpoint: qqOnlineWebService Web 服务 Disco: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?disco WSDL: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl 腾讯QQ在线状态 WEB 服…

【每日一题】 将一句话单词倒置,标点不倒置

用C语言将一句话的单词倒置&#xff0c;标点不倒置。 比如输入&#xff1a; i like shanghai. 输出得到&#xff1a; shanghai. like i 这道题目有很多种做法&#xff0c;既可以用递归&#xff0c;也可以分成两部分函数来写&#xff0c;本文就详细来讲解分装为两个函数的做法。…

如何从0开始搭建Vue组件库

前言&#xff1a; 组件设计是通过对功能及视觉表达中元素的拆解、归纳、重组&#xff0c;并基于可被复用的目的&#xff0c;形成规范化的组件&#xff0c;通过多维度组合来构建整个设计方案&#xff0c;將这些组件整理在一起&#xff0c;便形成组件库。本文我们主要讲述基于 V…

微服务学习:SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

目录 一、高级篇 二、面试篇 实用篇 day05-Elasticsearch01 安装elasticsearch 1.部署单点es 2.部署kibana 一、高级篇 二、面试篇 实用篇 day05-Elasticsearch01 安装elasticsearch 1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器&#xff0c;因此需要…

高校房产管理系统用到了哪些技术?

数图互通高校房产管理系统是基于公司自主研发的FMCenterV5.0平通过在中国100多所高校的成功实施和迭代&#xff0c;形成了一套成熟、完善、全生命周期的房屋资源管理解决方案。台&#xff0c;是针对中国高校房产的管理特点和管理要求&#xff0c;研发的一套标准产品&#xff1b…

【代码随想录训练营】【Day17】第六章|二叉树|110.平衡二叉树|257. 二叉树的所有路径|404.左叶子之和

平衡二叉树 题目详细&#xff1a;LeetCode.110 由题可知&#xff1a;一个平衡二叉树需要满足&#xff0c;其每个节点的左右两个子树的高度差的绝对值不超过 1 。 我们可以依照题意&#xff0c;直接来一波模拟&#xff1a; 利用层序遍历&#xff08;或其他遍历方法&#xff…

@所有人,OceanBase DevCon • 2023来啦

本文by&#xff1a;即将与大家见面的 OceanBase 2010 年&#xff0c;OceanBase 第一个版本诞生。在过去的十三年里&#xff0c;我们的产品技术&#xff0c;从支付宝走向众多企业&#xff0c;跟随着开源和云的成长&#xff0c;逐渐成为开发者喜欢的数据库。 2023 年 3 月 25 日…

MySQL的日志详解

目录 一.介绍 日志分类 二.错误日志 三.二进制日志—binlog 概述 日志格式 操作 四.查询日志 五.慢查询日志 一.介绍 在任何一种数据库中&#xff0c;都会有各种各样的日志&#xff0c;记录着数据库工作的方方面面&#xff0c;以帮助数据库管理员追踪数据库曾经发生过的…

IP路由基础

——IP路由基础&#xff08;IA&#xff09;—— ​​​​​​​HCIA全套笔记已经上线&#xff08;arpAAAvlanTrunk链路聚合vlan间通信ACL广域网技术以太网交换...........)_孤城286的博客-CSDN博客 目录 ——IP路由基础&#xff08;IA&#xff09;—— &#xff08;1&#…

【Debug】Centos 7 下部署 ElasticSearch 及 Kibana 时踩过的坑

Windows 电脑安装的 Centos 7 都是 X86_64版本, 但是 MAC 电脑 M1 芯片安装的是 arm 64 版本的 Centos 7, 这就导致有些镜像的安装可能会出现问题. 如果拉取速度比较慢, 修改镜像源, 如我的镜像源如下: 执行创建或修改镜像源指令: vim /etc/docker/daemon.json, 然后将下面的内…

【CMU15-445数据库】bustub Project #2:B+ Tree(上)

&#xff08;最近两个月学校项目有亿点忙&#xff0c;鸽得有点久&#xff0c;先来把 Project 2 补上&#xff09; 本节实验文档地址&#xff1a;Project #2 - BTree Project 2 要实现的是数据结构课上都会讲的一个经典结构 B 树&#xff0c;但是相信大多数的同学&#xff08;…

vue中,给一个URL地址,利用FileSaver.js插件下载文件到本地

①首先下载 FileSaver.js 插件 npm install file-saver --save ②在需要的.vue页面引入 import { saveAs } from file-saver 在HTML中引入 <script src"https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script> //Fil…

k8s 安装dashboard

前言 上一篇中将k8s简单部署安装上了&#xff0c;这篇接着安装下dashboard。 具体步骤 下载yaml文件 wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml注意&#xff1a;这里使用的版本是v2.5.0&#xff0c;这个要和k8s的版…