import scala.util.control._
object learnning {
def main(args:Array[String]):Unit={
val n:Int=10
println("第"+n+"个月兔子总数为"+fun(n))
val n1:Int=1
val n2:Int=100
var count:Int=0
//统计素数个数
for(i:Int<-n1 until n2){
if(isPrime(i)){
count=count+1;
System.out.print(i+" ");
if(count%10==0){
println();
}
}
}
println();
println("在"+n1+"和"+n2+"之间共有"+count+"个素数");
for(i:Int<- 100 until 1000){
if(isLotus(i))
print(i+" ");
}
println();
val n3:Int=90;
decompose(n3);
System.out.println("请输入成绩");
var content:Int = Console.readLine().toInt
grade(content);
println("请输入第一个数");
var n6:Int = Console.readLine().toInt
println("请输入第二个数");
var n7:Int = Console.readLine().toInt
max_min(n6,n7);
System.out.print("请输入一串字符:");
val str:String = Console.readLine().toString
countstring(str);
}
private def fun(n:Int):Int={
if(n==1 || n==2)
return 1;
else
return fun(n-1)+fun(n-2);
}
//判断素数
private def isPrime(n:Int):Boolean={
var flag:Boolean = true;
if(n==1)
flag = false;
else {
val loop = new Breaks;
loop.breakable {
for (i:Int<- 2 to Math.sqrt(n).toInt) {
if ((n % i) == 0 || n == 1) {
flag = false;
loop.break()
}
else
flag = true;
}
}
}
return flag;
}
//判断水仙花数
private def isLotus(lotus:Int):Boolean={
var m:Int = 0;
var n:Int = lotus;
var sum:Int = 0;
m = n/100;
n -= m*100;
sum = m*m*m;
m = n/10;
n -= m*10;
sum += m*m*m + n*n*n;
if(sum==lotus)
return true;
else
return false;
}
private def decompose(n:Int):Unit={
print(n+"=");
var n4:Int=n;
val loop = new Breaks;
loop.breakable {
for (i <- 2 until n4 + 1) {
while (n4 % i == 0 && n4 != i) {
n4 /=i;
print(i + "*");
}
if (n4 == i) {
println(i);
loop.break();
}
}
}
}
//成绩等级计算
private def grade(n:Int):Unit={
if(n>100 || n<0)
System.out.println("输入无效");
else{
var str:String = if(n>=90)"分,属于A等" else "属于B等";
System.out.println(n+str);
}
}
//求最大公约数和最小公倍数
private def max_min(m:Int,n:Int){
var temp:Int = 1;
var yshu:Int = 1;
var bshu:Int = m*n;
var m1:Int=m;
var n1:Int=n;
if(n1<m1){
temp = n1;
n1 = m1;
m1 = temp;
}
while(m1!=0){
temp = n1%m1;
n1 = m1;
m1 = temp;
}
yshu = n1;
bshu /= n1;
System.out.println(m+"和"+n+"的最大公约数为"+yshu);
System.out.println(m+"和"+n+"的最小公倍数为"+bshu);
}
//统计输入的字符数
private def countstring(str:String):Unit= {
val E1: String = "[\u4e00-\u9fa5]";
//汉字
val E2: String = "[a-zA-Z]";
val E3: String = "[0-9]";
val E4: String = "\\s";
//空格
var countChinese: Int = 0;
var countLetter: Int = 0;
var countNumber: Int = 0;
var countSpace: Int = 0;
var countOther: Int = 0;
var array_Char = str.toCharArray();
//将字符串转化为字符数组
var n: Int = array_Char.length;
for (i: Int <- 0 until array_Char.length) {
var array_String:String= array_Char(i).toString();
if (array_String.matches(E1)) {
countChinese = countChinese + 1;
}
else if (array_String.matches(E2)) {
countLetter = countLetter + 1;
}
else if (array_String.matches(E3)) {
countNumber = countNumber + 1;
}
else if (array_String.matches(E4)) {
countSpace = countSpace + 1;
}
else {
countOther = countOther + 1;
}
}
println("输入的汉字个数:" + countChinese);
println("输入的字母个数:" + countLetter);
println("输入的数字个数:" + countNumber);
println("输入的空格个数:" + countSpace);
println("输入的其它字符个数:" + countSpace);
}
}
第10个月兔子总数为55
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
在1和100之间共有25个素数
153 370 371 407
90=2*3*3*5
请输入成绩
90
90分,属于A等
请输入第一个数
1
请输入第二个数
2
1和2的最大公约数为1
1和2的最小公倍数为2
请输入一串字符:ds12含~
输入的汉字个数:1
输入的字母个数:2
输入的数字个数:2
输入的空格个数:3
输入的其它字符个数:3 Process finished with exit code 0

  

Spark记录-Scala记录(基础程序例子)的更多相关文章

  1. Spark记录-Scala语法基础

    参考:http://docs.scala-lang.org/cheatsheets/index.html.http://docs.scala-lang.org/.http://www.scala-la ...

  2. Spark记录-Scala集合

    Scala列表 Scala列表与数组非常相似,列表的所有元素都具有相同的类型,但有两个重要的区别. 首先,列表是不可变的,列表的元素不能通过赋值来更改. 其次,列表表示一个链表,而数组是平的. 具有类 ...

  3. 关于spark与scala版本问题记录

    记录一下版本问题: spark与scala版本对应问题: 1.官网会给出,如下,spark2.3.1默认需要scala2.11版本 2.在maven依赖网中也可以看到,如下 3.关于idea开发版本中 ...

  4. Spark记录-Scala类和对象

    本章将介绍如何在Scala编程中使用类和对象.类是对象的蓝图(或叫模板).定义一个类后,可以使用关键字new来创建一个类的对象. 通过对象可以使用定义的类的所有功能. 下面的图通过一个包含成员变量(n ...

  5. Spark记录-Scala数组

    Scala提供了一种数据结构叫作数组,数组是一种存储了相同类型元素的固定大小顺序集合.数组用于存储数据集合,但将数组视为相同类型变量的集合通常更为有用. 可以声明一个数组变量,例如:numbers,使 ...

  6. Spark记录-Scala字符串

    Scala字符串 在Scala中的字符串和Java中的一样,字符串是一个不可变的对象,也就是一个不能修改的对象.可以修改的对象,如数组,称为可变对象.字符串是非常有用的对象,在本节的最后部分,我们将介 ...

  7. Spark记录-Scala函数与闭包

    函数声明 Scala函数声明具有以下形式 - def functionName ([list of parameters]) : [return type] Scala 如果不使用等号和方法体,则隐式 ...

  8. Spark记录-Scala变量/访问修饰符/运算符

    变量是保存存储值的内存位置的名称.这意味着当创建变量时,可以在内存中保留一些空间. 根据变量的数据类型,编译器分配内存并决定可以存储在预留内存中的内容.因此,通过为变量分配不同的数据类型,可以在这些变 ...

  9. java+hadoop+spark+hbase+scala+kafka+zookeeper配置环境变量记录备忘

    java+hadoop+spark+hbase+scala 在/etc/profile 下面加上如下环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_102 expor ...

随机推荐

  1. C# LINQ to XML示例

    static void Main(string[] args)         {    // Create the data source by using a collection initial ...

  2. Git管理多个SSH密钥,Git多帐号配置

    版权声明:转载须标明本文转自严振杰的博客 https://blog.csdn.net/yanzhenjie1003/article/details/69487932版权声明:转载必须注明本文转自严振杰 ...

  3. svn插件下载的两种方式

     1.下载SVN插件     SVN插件下载地址及更新地址,你根据需要选择你需要的版本.现在最新是1.8.x  Links for 1.8.x Release:          Eclipse up ...

  4. 微信小程序在当前页面设置其他页面的数据

    如果其他页面用到的数据是 globalData, 那么直接在当前页面修改 globalData 数据即可. 如果其他页面用到的数据是 storage, 那么直接在当前页面修改 storage 数据即可 ...

  5. 学会清理.rncache 文件、清理已经安装的三方文件,三方引入文件

    1.来到指定文件夹.rncache路径,不会的可以百度,然后手动删除. 2.更新RN引入的文件的版本号,要记得将yarn.lock (.lock文件删掉) 3.我用 npm install 之后,然后 ...

  6. 10慕课网《进击Node.js基础(一)》初识promise

    首先用最简单的方式实现一个动画效果 <!doctype> <html> <head> <title>Promise animation</titl ...

  7. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (二)nvidia docker配 ...

  8. 正则js

    匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空行的正则表达式:\n[\s| ]*\r 匹配HTML标记的正则表达式:/&l ...

  9. Windows 设置开机自动登录

    1. 自己一些windows的虚拟机 有时候开机之后 输入用户名密码时间特别长. 需要等待很久, 如果能够设置开机自动登录的话 能够节约很多时间. 2. 最简单的办法  运行输入 control us ...

  10. 如何让搜索引擎抓取AJAX内容?

    越来越多的网站,开始采用"单页面结构"(Single-page application). 整个网站只有一张网页,采用Ajax技术,根据用户的输入,加载不同的内容. 这种做法的好处 ...