Practice
-
Avg of primes from n1 to n2.
object Demo{
def main(args:Array[String]){
var n1=0;
var n2=0;
var count=0;
var pcount=0;
var sum=0;
var prime=" ";println("Enter start number :")
n1=scala.io.StdIn.readInt();
println("Enter end number :")
n2=scala.io.StdIn.readInt();for(i<-n1 to n2){
count=0
for(j<-1 to i){
if(i%j==0){
count=count+1;
}
}
if(count==2)
{
prime=prime+" "+i;
pcount=pcount+1;
sum=sum+i;}
}
println("Prime numbers :"+prime)
println("Sum of prime :"+sum)
println("Total prime:"+pcount)
println("Average :"+(sum/pcount))
}
} -
Factorial
object Factorial{
def main(args:Array[String]){
var fact=1;
println("Enter a number :")
var n=scala.io.StdIn.readInt();
for(i<-1 to n){
fact=fact*i
}
println("Factorial :"+fact)
}
}
object RandomPerfectNo{
def main(args:Array[String]){
for(j<-1 to 5){
var n1=scala.util.Random
var n=n1.nextInt(1000)
var sum=0;
for(i<-1 to n-1){
if(n%i==0){
sum=sum+i;
}
}
if(sum==n)
println(n+" is Perfect no")
else
println(n+" is not Perfect no")
}
}
}
object SsecLargest {
def main(args: Array[String]) {
var arr=Array(4,5,2,0)
scala.util.Sorting.quickSort(arr)
println("Sorted array :")
for(i<-0 to 3){
println(arr(i)+" ")
}
println("Second Largest number :"+arr(1))
}
}
object Prime1to100{
def main(args:Array[String]){
var prime=" ";
var count=0;
var sum=0;
var pcount=0;
for(i<-2 to 100){
count=0
for(j<-1 to i){
if(i%j==0){
count=count+1;
}
}
if(count==2)
{
prime=prime+" "+i;
pcount=pcount+1;
sum=sum+i;
}
}
print("Sum :"+sum)
}
}
object NumberConv {
def binaryCon(n : Int)
{
var i=0
var num=n
var A=new ArrayInt
while(num>0)
{
A(i)=num%2
i=i+1
num=num/2
}
println("\nBinary equivalent " )
for(j<-i-1 to 0 by -1)
print(A(j))
}
def octalCon(n:Int)
{
var i=0
var num=n
var A=new ArrayInt
while(num>0)
{
A(i)=num%8
i=i+1
num=num/8
}
println("\nOctal equivalent " )
for(j<-i-1 to 0 by -1)
print(A(j))
}
def main(args: Array[String])
{
println("Enter number:")
var n=scala.io.StdIn.readInt()
println("%d".format(n))
octalCon(n)
binaryCon(n)
}
}
object MinMax{
def main(args:Array[String]){
println("Enter how many elements:")
val n=scala.io.StdIn.readInt()
var m=new ArrayInt
println("Enter array elemnts :")
for(i<-0 to n-1){
m(i)=scala.io.StdIn.readInt()
}
println("Array :")
for(i<-0 to n-1){
println(" "+m(i))
}
var max:Int=m(0)
var min:Int=m(0)
for(i<-0 to n-1){
if(m(i)<min){
min=m(i)
}
else if(m(i)>max){
max=m(i)
}
}
println("Max:"+max)
println("Min:"+min)
}
}
object Transpose{
def main(args:Array[String]){
var a=Array.ofDimInt
var i:Int=0
var j:Int=0
println("enter matrix:")
for(i<-0 to 1){
for(j<-0 to 1){
a(i)(j)=scala.io.StdIn.readInt()
}
}
println("original matrix:")
for(i<-0 to 1){
for(j<-0 to 1){
print(a(i)(j)+" ")
}
println()
}
println("Transpose matrix:")
for(i<-0 to 1){
for(j<-0 to 1){
print(a(j)(i)+" ")
}
println()
}
}
}
object Determinant{
def main(args:Array[String]){
var a=Array.ofDimInt
var det:Int=0;
println("Enter a 2X2 Matrix :")
for(i<-0 to 1){
for(j<-0 to 1){
a(i)(j)=scala.io.StdIn.readInt()
}
}
println("Matrix is :")
for(i<-0 to 1){
for(j<-0 to 1){
print(a(i)(j)+" ")
}
println()
}
det=(a(0)(0)*a(1)(1)) - (a(1)(0)*a(0)(1))
println("Determinant :"+det)
}
}
object Upper{
def main(args:Array[String]){
var a=Array.ofDim[Int](10,10)
println("Enter no of rows :")
var n = scala.io.StdIn.readInt()
println("Enter no of column :")
var m = scala.io.StdIn.readInt()
println("Enter array elements :")
for(i<-0 to n-1){
for(j<-0 to m-1){
a(i)(j)=scala.io.StdIn.readInt()
}
}
println("Matrix Is :")
for(i<-0 to n-1){
for(j<-0 to m-1){
print(a(i)(j)+" ")
}
println()
}
var isUpper=1;
for(i<-0 to n-1){
for(j<-0 to m-1){
if(j<i && a(i)(j)!=0){
isUpper=0;
println("Not upper triangular")
}
}
}
if(isUpper==1){
println("Given matris is Upper Triangular :")
for(i<-0 to n-1){
for(j<-0 to m-1){
print(a(i)(j)+" ")
}
println()
}
}
}
}
object InsertionSort {
def main(args: Array[String]) {
val array = Array.ofDimInt
array(0)(0)=3
array(0)(1)=2
array(1)(0)=1
array(1)(1)=0
println("Unsorted matrix ")
for(i <- 0 until 2){
for(j <- 0 until 2){
print(array(i)(j)+"\t")
}
println()
}
println("Asceding sorted matrix ")
var temp=0
var a:Int=0
var b:Int=0
for (a <- 0 until 2) {
for (b <- 0 until 2){
if(a==0 && b==0){}
else{
temp = array(a)(b)
}
var k = a
var l = b
while (k >= 0 && l>=0 && temp < array(a)(b)) {
array(a + 1)(b + 1) = array(a)(b)
k = k-1;
l = l-1;
}
array(a)(b) = temp
print(array(a)(b)+"\t")
}
println()
}
}
}
object Multiplication{
def main(args:Array[String]){
var arr1=Array.ofDimInt
var arr2=Array.ofDimInt
var result=Array.ofDimInt
var sum=0;
var k=0;
println("Enter matrix 1:")
for(i<-0 to 1){
for(j<-0 to 1){
arr1(i)(j)=scala.io.StdIn.readInt()
}
}
println("Enter matrix 2:")
for(i<-0 to 1){
for(j<-0 to 1){
arr2(i)(j)=scala.io.StdIn.readInt()
}
}
println("Matrix 1:" )
for(i<-0 to 1){
for(j<-0 to 1){
print(arr1(i)(j)+" ")
}
println()
}
println("Matrix 2:" )
for(i<-0 to 1){
for(j<-0 to 1){
print(arr2(i)(j)+" ")
}
println()
}
for(i<-0 to 1){
for(j<-0 to 1){
sum=0
for(k<-0 to 1){
sum=sum+(arr1(i)(k)*arr2(k)(j))
}
result(i)(j)=sum
}
}
println("Multiplication :" )
for(i<-0 to 1){
for(j<-0 to 1){
print(result(i)(j)+" ")
}
println()
}
}
}
object ToUppercase{
def main(args:Array[String]){
println("Enter a string :")
var str=scala.io.StdIn.readLine()
println("Original String :"+str)
var cnt=0;
var i=0;
for(i<-0 to (str.length()-1)){
var ch:Char=str.charAt(i)
if(ch>='A' && ch<='Z'){
cnt=cnt+1
}
}
var lwr=str.toLowerCase()
println(lwr)
println("Upper case count :"+cnt)
}
}
object ToUppercase{
def main(args:Array[String]){
println("Enter a string :")
var str=scala.io.StdIn.readLine()
println("String :"+str)
println("Enter character to search :")
var c:Char=scala.io.StdIn.readChar()
println("Occurrence : "+(str.count(_==c)))
}
}
object Occurrence
{
def main(args:Array[String])
{
println("Enter First String = ")
var st1 = scala.io.StdIn.readLine().toCharArray()
println("Enter Second String = ")
var st2 = scala.io.StdIn.readLine().toCharArray()
for(i<-0 to (st2.length-1))
{
for(j<-0 to (st1.length-1))
{
if(st2(i) == st1(j))
{
st1(j) = '*'
}
}
}
for(i<-0 to (st1.length-1))
{
print(st1(i))
}
}
}
object StrArr
{
def main(args:Array[String])
{
println("Enter how many strings :")
var n = scala.io.StdIn.readInt()
var arr=new Array[String](n)
for(i<-0 to (arr.length-1))
{
println("Enter String"+" "+(i+1)+"=")
arr(i)=scala.io.StdIn.readLine()
}
for(i<-arr)
{
println(i)
}
}
}
class CurrentAc(accN:Int,nam:String,Balanc:Double){
var accNo=accN;
var name=nam;
var Balance=Balanc;
var minB:Double=3000;
def withdraw(){
print("Enter the widdraw amount ")
var w=scala.io.StdIn.readInt();
if((Balance-w)>=minB){
print("Withdraw suscceful "+"\n");
Balance=Balance-w;
print("The balance is "+Balance+"\n");
}else{
print("can't widthdraw balance insuffeciber "+"\n");
}
}
def deposit(){
print("Enter the amount you want to deposit ")
var d=scala.io.StdIn.readInt();
Balance=Balance+d;
print("The Updated balance is "+Balance+"\n");
}
def viewBalance(){
print("The account Balance is "+ Balance +"\n")
}
}
object Main
{
def main(args:Array[String]): Unit =
{
print("Enter the Acount Number"+"\n");
val accNo=scala.io.StdIn.readInt();
print("Enter the name of the AcountHolder"+"\n");
var name =scala.io.StdIn.readLine();
print("Enter Balance"+"\n");
var Balance=scala.io.StdIn.readDouble();
var A=new CurrentAc(accNo,name,Balance);
var s=0;
do{
print("1.Enter 1 for withdraw \n");
print("2.Enter 2 for Deposit \n");
print("3. Enter 3 for View Balance \n")
print("4. Enter exit \n")
var n=scala.io.StdIn.readInt()
n match{
case 1=>A.withdraw();
cas
e 2=>A.deposit();
case 3=>A.viewBalance();
case 4=>print("exiting ...");s=1;
case _ => println("Invalid choice entered, Try again...")
}
}while(s==0);
}
}
class Empoley(id:Int, name:String)
{
var salary:Int = 0 //default value
def showDetails()
{
println(id+" "+name+" "+salary)
}
def this(id:Int, name:String,salary:Int)
{
this(id,name) // Calling primary constructor (see parameters in class decalration)
this.salary = salary
}
}
object MainObject
{
def main(args:Array[String])
{
var emp:Array[Empoley]=new Array[Empoley](4)
emp(0)=new Empoley(101,"Rama",201241)
emp(1)=new Empoley(10,"Ram",601341)
emp(2)=new Empoley(103,"Ramay",801234)
emp(3)=new Empoley(104,"Ramo",1001234)
var salary:Empoley=new Empoley(0,"",0) // a temporary object
salary = emp(0) //assigning first record/object to max
var maxsalary=emp(0).salary // a temporary maxmarks variable to contain max value
for( i <-0 to 3)
{
if(emp(i).salary>maxsalary)
{
maxsalary=emp(i).salary
salary=emp(i)
}
}
println("student details with maximum marks is")
println(salary.showDetails())
}
}
Q4. Create abstract class Shape with abstract functions volume() and display(). Extend two classes Cube and Cylinder from it. Calculate volume of each and display
abstract class shape(r:Int,h:Int)
{
var vol1:Double=0
var pi:Double=3.14
def volume()
def display()
}
class cylinder(r:Int,h:Int)extends shape(r,h)
{
def volume()
{
var vol:Double=0
vol=pi*r*r*h
vol1=vol
println("*****")
println("volume is:"+vol)
}
def display()
{ println("***")
println("radius of cylinder:"+r)
println("height of cylinder:"+h)
println("volume of cylinder:"+vol1)
}
}
object Demo4
{
def main(args:Array[String])
{
var radius:Int=0
var height:Int=0
println("enter radius of cylinder:")
radius=scala.io.StdIn.readInt()
println("enter hight of cylinder")
height=scala.io.StdIn.readInt()
var n=new cylinder(radius,height)
n.volume()
n.display()
}
}
Q5. Create class Project (id, name, location). Define parameterized constructor. Keep a count of each object created and display the details of each project.
class Project(id:Int,name:String,location:String)
{
var i:Int = 0;
def display()
{
println(id+" "+name+" "+" "+location)
}
}
object Demo5 {
def main(args: Array[String])
{
print("How Many Object = ")
var n = scala.io.readInt
var arr = Array[Project]=new Array[Project](n)
for(i<-1 to n)
{
print("Enter id = ")
var id = scala.io.readInt
print("Enter name = ")
var name = scala. io. StdIn. readLine()
print("Enter Location = ")
var location = scala. io. StdIn. readLine()
arr(i) = new Project(id,name,location)
}
print("Number Of Object Created = "+n);
}
}