Download LAB

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Java111 example final
LAB :
1. Write a Java program that reads an integer x, and a character c;
then calls a method draw that prints a triangle of c in x lines.
2. Write a program that reads an integer then calls a method to
check whether or not the integer is perfect. The program
should print a message accordingly. An integer is said to be
perfect if its factors including 1 but excluding the integer itself
sum to the number.
Example: 6 is perfect because 1 + 2 + 3 = 6.
3. Write a program that reads three integers: a, b and n. the
programs calls a method that returns the nth Fibonacci
number with a and b being the first and second. Main then
calls another method to print the result.
Self Study:
4. Write a program that reads an integer and then calls a method
that receives an integer and returns the integer with its digits
reversed. Main prints the resulting integer.
5. Write a program that reads two integers and then calls a
method that receives the two integers and returns their
greatest common divisor, which is printed in main.
TUTORIAL:
1. Trace the following program:
import java.util.*;
public class M{
static Scanner console = new Scanner(System.in);
static int i = 0;
public static void main (String[] args)
{
int a;
double b;
i++;
System.out.println (i);
a = console.nextInt();
b = console.nextDouble();
double x = test(a, b);
System.out.println("a = " + a + ", b = ",
b + “x= “ + x +", test(x, b)=
", test((int)x, b));
if (isEven(a) ) System.out.println(a+ “is even” );
i++; System.out.println(i);
}
public static double test(int x, double y)
{
i++;
System.out.println(i);
return y * 3 + 2 * x;
}
public static Boolean isEven(int m)
{
i++;
System.out.println(i);
return (m%2 == 0 );
}
2. find the errors:
class err{
public static void main(String args[]){
int x , y;
String s = “test”;
m1(int x , s);
y = m2();
}
public void m1(int d ){
… }
public static m2( ) {
if ( true) return true; }
}
3. write method headers for the following:
a. a method that receives three strings and returns nothing.
b. A method that receives an integer and a character and
returns a string.
c. A method that returns a Boolean and receives nothing.
4. Write a method that receives a character and an integer and
returns a string composed of the character repeated as many
times as the integer.
5. import java.util.* ;
class sheet12_exer1
{
static Scanner consol = new Scanner(System.in) ;
public static void main(String args[])
{
System.out.println(" enter No. of lines to draw trangel");
int line = consol.nextInt();
System.out.println(" enter char to draw : ");
char ch = consol.next().charAt(0) ;
(line , ch) ;
}// end main
static void draw(int line , char ch)
{
int blank = 30 ;
for (int i=0 ; i<line ; i++)
{
for (int k=0 ;k<blank;k++)
System.out.print(" ");
for (int j=0 ; j<i ; j++)
System.out.print(ch+" ");
System.out.println();
blank--;
}//end for
}
}
-----------------6. //
import java.util.*;
class sheet12_exer2
{
static Scanner consol = new Scanner(System.in);
public static void main(String[] args)
{
int no;
boolean bol;
System.out.println("Enter a number");
no=consol.nextInt();
bol=isperfect(no);
if (bol)
System.out.println(" The No. ( "+no+" ) is perfect.");
else
System.out.println(" The No. ( "+no+" ) is Nonperfect.");
}// end main
public static boolean isperfect(int No)
{
int sum = 0;
for( int i=1 ; i<No; i++)
{
if (No%i == 0)
sum = sum + i;
}
if (sum == No)
return true;
return false;
}// end method
}
--------------------------7. import java.util.* ;
class sheet12_exer3
{
static Scanner consol = new Scanner(System.in) ;
public static void main(String args[])
{
int a , b , fi ;
System.out.println(" enter No. 1 , No 2
a = consol.nextInt();
b = consol.nextInt();
fi = consol.nextInt();
and
int result = fib(a , b , fi) ;
printResult(result);
}// end main
static int fib(int no1 , int no2 , int fi)
{
int result=0 , count ;
if(fi == 1)
return no1 ;
else
if(fi == 2)
return no2 ;
else
{
count = 3 ;
while( count <= fi)
{
result = no1 + no2 ;
no1 = no2 ;
no2 = result ;
count++ ;
}
return result ;
}
}// end fib
static void printResult(int n)
{
System.out.println(" the result is : "+ n) ;
}
}// end class
8. -----------------------9. import java.util.* ;
No. of fibbonach: ");
class sheet12_exer4
{
static Scanner consol = new Scanner(System.in) ;
public static void main(String args[])
{
int num ;
System.out.println(" enter your number to reverse it .");
num = consol.nextInt();
int num2
= revers(num) ;
System.out.println("number after reverse it = " + num2);
}// end main
public static int revers(int n )
{
int no2 =0;
while(n != 0)
{
no2 = n% 10 + no2*10 ;
n = n /10 ;
}
return no2 ;
}
}// end class
10. ------------------------11. import java.util.* ;
class sheet12_exer5
{
static Scanner consol = new Scanner(System.in) ;
public static void main(String args[])
{
int num1 , num2 ; .out.println(" enter no1 .");
num1 = consol.nextInt();
System.out.println(" enter no2 .");
num2 = consol.nextInt();
int div
= divisor(num1 , num2 ) ;
System.out.println("the common divesor
= " + div);
}// end main
public static int divisor(int n1 , int n2 )
{
int div = 1 , i ;
for(i = 1 ; i <= n1 && i <= n2 ; i++)
if( n1 % i == 0 && n2 % i == 0 )
div = i ;
return div ;
}
}// end class
12. -------------------------------------13. Lap final
14.
15. import java.util.*;
class vowel
{
static Scanner consol = new Scanner(System.in);
public static void main(String s[])
{
String str ;
char ch ;
int vowel = 0 , letter = 0 , spaces = 0 ;
System.out.println(" enter String ");
str = consol.nextLine();
for(int i = 0 ; i < str.length() ; i++)
{
ch = str.charAt(i);
switch (ch)
{
case 'a': case 'o' : case 'e' :
case 'i': case 'u' :
vowel ++ ;
break ;
}// end seitch
if( isLetter(ch) )
letter++ ;
if(ch == ' ' )
spaces++;
}// end for
System.out.println(" vowels = "+ vowel);
System.out.println(" letters = "+ letter);
System.out.println(" spaces = "+ spaces);
}// end main
}//end class
============================================
Lab
1. Write a program that reads the elements of a one dimensional
array and then call a method that sorts the array in ascending
sequence.
2. Write a program that reads the elements of a 5x7 two
dimensional array, and then calls a method that forms a 7x5 2
dimensional array that is the reverse of the first array.
3. Write a program that reads information for a list of students
composed of: name, score. Your program should sort the names
alphabetically, then print the sorted list with the grade (A, B, C …).
4. Write a program that reads a list of n integers between 0 and 10,
then print the number of occurrences of each integer read. Do
not print 0 occurrences.
Tutorial
1. Write statements that set the elements of the diagonal of a 5 by 5
array of characters to '%'.
2. Write statements that increment the elements of a 5 by 5 array of
integers by 10.
3. Write statements that generate a 10 by 10 integer array where
the elements are random integers between 0 and 100 inclusive.
4. Write a method that receives a variable length parameter list of
doubles and prints the total number of numbers less than 0, equal
to 0 and greater than 0. Use a foreach loop.
/*1. Write a program that reads the elements of a one
dimensional array and then call a method that sorts the
array in ascending sequence.*/
import java.util.*;
class sheet12_exer1
{
static Scanner consol = new Scanner(System.in);
public static void main(String[] args)
{
int[] list = new int[9];
System.out.println(" enter 9 NO. :");
for(int i=0 ;i<list.length ; i++)
list[i]=consol.nextInt();
sort(list);
System.out.println("After sort :");
for(int i=0 ;i<list.length ; i++)
System.out.print(list[i]+" - ");
}// end main
public static void sort(int[] list)
{
int temp ;
for(int i=0 ;i<list.length ; i++)
for(int j=i+1;j<list.length ; j++)
if(list[i]>list[j])
{
temp = list[i];
list[i] = list[j] ;
list[j]= temp ;
}
}
}// end class
----------------------/* 2-Write a program that reads the elements of a 5x7 two
dimensional array, and then calls a method that forms a
7x5 2 dimensional array that is the reverse of the first
array.*/
import java.util.*;
class sheet12_exer2
{
static Scanner consol = new Scanner(System.in);
public static void main(String[] args)
{
int[][] list = new int[5][7] ;
for(int i=0 ; i<list.length ; i++)
{
System.out.println(" enter 7 No. to row " + (i+1));
for(int j=0 ; j<list[i].length ; j++)
list[i][j]= consol.nextInt();
}
System.out.println("array After fill : ");
for(int i=0 ; i<list.length ; i++)
{
for(int j=0 ; j<list[i].length ; j++)
System.out.printf("%6d",list[i][j]);
System.out.println();
}
int[][] list2 = new int[7][5];
list2= revers(list);
System.out.println("array After revers : ");
// line 34
for(int i=0 ; i<list2.length ; i++)
{
for(int j=0 ; j<list2[i].length ; j++)
System.out.printf("%6d",list2[i][j]);
System.out.println();
}
}// end main
public static int[][] revers(int[][] list)
{
int[][]
int row
int col
// line
list2 = new int[7][5];
= list.length -1 ;
= list[0].length -1 ;
50
for(int i=0 ; i<list2.length ; i++)
{
row =list.length -1 ;
for(int j=0 ; j<list2[i].length ; j++)
{
list2[i][j] = list[row][col];
row-- ;
}
col-- ;
}// end first for loop
return list2;
}
}// end class
----------------------/*3- Write a program that reads information for
a list of students composed of: name, score.
Your program should sort the names alphabetically,
then print the sorted list with the grade (A, B, C …).*/
// sheet 12 exer 3
import java.util.*;
public class list_Student_sheet12
{
static Scanner consol = new Scanner(System.in);
public static void main(String[] args)
{
int len = 3 ;
String[] names=new String[len];
double[] scor = new double[len];
for(int i=0 ; i<names.length ; i++)
{
System.out.println("enter student name then score"
+" for student("+(i+1)+") :");
names[i] = consol.next();
scor[i] = consol.nextInt();
}// end for
sort(names , scor);
print(names , scor);
}// end main
public static void print(String[] std , double[] scor)
{
char grade;
int i ;
for (i=0; i< std.length ; i++)
{
if(scor[i]>=90)
grade='A' ;
else if(scor[i]>=80)
grade='B' ;
else if(scor[i]>=70)
grade='C' ;
else if(scor[i]>=60)
grade='D' ;
else grade='F' ;
System.out.println(std[i] +"
"+grade);
}// end for
}// end method
public static void sort(String[] std , double[] scor)
{
String temp ;
double temp_double ;
for(int i=0 ; i<std.length-1 ; i++)
{
for(int j= i+1 ; j<std.length ; j++)
{
if(std[i].compareTo(std[j])>0)
{
temp= std[i];
std[i]=std[j];
std[j]=temp;
// another array
temp_double= scor[i];
scor[i]=scor[j];
scor[j]=temp_double;
} // end if
} // end for j
}// end for i
}// end method
}// end class
------------------------------/* 4- Write a program that reads a list of n integers between
0 and 10, then print the number of occurrences of each
integer read. Do not print 0 occurrences.*/
import java.util.*;
class sheet12_exer4
{
static Scanner consol = new Scanner(System.in);
public static void main(String[] args)
{
int n ;
int[] list = new int[11];
System.out.println("how many
n = consol.nextInt();
Number you want to enter :");
for (int i=0 ; i<n ; i++)
{
System.out.println("enter Number :");
list[consol.nextInt()]++ ;
}
for (int i=1 ; i<11; i++)
System.out.println("NO ("+i+") = "+ list[i]);
}//end main
}// end class
===============================
1. Write a program that reads an integer n, then declares an array of
n elements. The program then calls a method that fills the array
with the first n Fibonacci numbers. Then main reads a list of
numbers less than n that denote the position of a number and
calls another method that uses the array to return the Fibonacci
number in that position. Main stops when a negative number is
read.
2. Write a program that reads a string and prints the number of
occurrences of each alphabetical letter in the string. Your program
should call a method to create an array for the counters of the
letters, and use another overloaded method that receives a
character and updates the corresponding counter and finally call a
third method to print the counts.
3. Write a program that reads names of students in order, then their
grades. The program then calls a method that sorts the names in
alphabetical order, the method calls another method that moves
the grades to the appropriate place accordingly. Main then calls a
third method that prints a list of the students with their grades.
TUTORIAL:
1. Trace the following segment:
int[] a , b, c ;
int m;
a = new int[6];
b = new int[6];
c =new int[12];
for (m = 0 ;m<a.length;m++)
a[m] = m*3;
for (m = 0; m<b.length ; m++)
b[m] = m ;
for ( m = 0; m<c.length ; m++)
if (m%2 == 0)
c[m] = a[m/2];
else
c[m] = b[m/2];
for (m = 0 ;m<a.length;m++)
System.out.print(a[m]+ " , " );
System.out.println();
for (m = 0; m<b.length ; m++)
System.out.print(b[m]+ " , " );
System.out.println();
for ( m = 0; m<c.length ; m++)
System.out.print(c[m]+ " , " );
System.out.println();
2. Find the errors in the following code:
public class ArrayError{
public static void main( String args[])
{ char i=0;
char[] c = {'a' , 'b' , 'c' , 'd' , 'e' };
g(c[],6);
for (; i<=4; i++ )
System.out.print( c[i] );
}
public static void g(char[] arr, int x)
{
char[] arr;
for ( int i=0 ; i<=x ; i++ )
arr[i]++;
}
3. Write a method that receives an integer array, the number of
elements in the array and an integer x. The method should search
the array for the first occurrence of x and return the location of
the element. If no element is found, the method returns -1.
4. Write a method that receives an array of characters and returns a
string that is composed of the characters in the array.
5. Write a method that receives an array of integers and returns
another array that is the reverse of the received array.
6. Write a method that receives and sorts a one dimensional array of
integers.
/* 1- Write a program that reads an integer n, then declares
an array of n elements. The program then calls a method that
fills the array with the first n Fibonacci numbers.
Then main reads a list of numbers less than n that denote
the position of a number and calls another method that uses
the array to return the Fibonacci number in that position.
Main stops when a negative number is read.*/
import java.util.*;
class sheet11_exer1
{
static Scanner consol = new Scanner(System.in);
public static void main(String s[])
{
int n , postion ;
System.out.println("Enter the number to calculat the fibonacce No. : ");
n = consol.nextInt();
int[] array = new int[n];
fillArray(array , n);// method call
do
{
System.out.println(" Enter the number less than" + n);
postion = consol.nextInt();
while(postion > n )
{
System.out.println(" the numbes should be less than "+n+
" and begger than zero ");
System.out.println("enter another No.");
postion = consol.nextInt();
}
if(postion <0 )
break ;
else
{
System.out.println(" The value of this position is : "+
returnValu(array,postion));
}
// end do
}while(postion>= 0);
}// end main
public static void fillArray( int list[],int no1)
{
int no2 = no1;
list[0] = no1;
list[1] = no2;
for ( int i=2 ; i<list.length ; i++)
{
list[i]=no1 + no2;
no1 = no2;
no2 = list[i];
}
}// end method
public static int returnValu(int list[] , int position)
{
return list[position];
}//end method
}// end class
-------------------------
/* 2-Write a program that reads a string and prints the
number of occurrences of each alphabetical letter in the
string. Your program should call a method to create an
array for the counters of the letters, and use another
overloaded method that receives a character and updates
the corresponding counter and finally call a third method
to print the counts*/
import java.util.*;
import static java.lang.Character.*;
class sheet11_exer2
{
static Scanner consol = new Scanner(System.in);
public static void main(String[] args)
{
String str;
System.out.println(" Enter a string to count the occurrences of each
alphabeticalletter: ");
str = consol.nextLine();
countLetter(str);// send str to take all char alon from it
}//end main
public static void countLetter(String str)
{
char chr ;
int[] countLetter = new int[26];//26 because this is NO. letter in languag
for (int i =0 ; i<str.length() ; i++)
{
chr= str.charAt(i);
countLetter(chr,countLetter);// send a char to test it
}// end for
print_count_letter(countLetter);// to print a count of each letter
} //end method
public static void countLetter(char ch , int[] countLetter)
{
int position;
ch = toUpperCase(ch); // to easy count them we will make all letter capital
position =(int) ch - 65; // convert the No. of char in askii code to No.
from 0 to 25
if ( position >=0 && position<26)
countLetter[position]++; // the No. of char will increas
}//end method
public static void print_count_letter(int letter[])
{
// we will convert the No. to char then print it
for (int i=0; i<26 ; i++)
System.out.println( (char)(i+65) + " occor = " + letter[i]);
}//end method
}//end class
-------------------------------/*3-Write a program that reads names of students in order,
then their grades. The program then calls a method that sorts
the names in alphabetical order, the method calls another
method that moves the grades to the appropriate place
accordingly. Main then calls a third method that prints
a list of the students with their grades. */
import java.util.*;
class sheet11_exer3
{
static Scanner consol = new Scanner(System.in);
public static void main(String[] args)
{
String[] names ;
int[] grades ;
int No ;
System.out.println(" Enter how many student you have ");
No = consol.nextInt();
names = new String[No];
grades = new int[No];
for (int i = 0 ; i< No ; i++)
{
System.out.print(" Enter student name NO. " + (i+1) + " : ");
names[i] = consol.next();
System.out.println();
System.out.print(" Enter student grade NO. " + (i+1) + " : ");
grades[i] = consol.nextInt();
System.out.println();
}// end for
order(names , grades);
print_std(names , grades);
} // end main
public static void order(String[] name , int[] grade)
{
String temp;
int j;
for ( int i=0 ; i<name.length -1 ; i++)
{
int small =i;
for ( j=i+1 ; j<name.length ; j++)
if (name[j].compareTo(name[small]) <0 )
small = j;
temp=name[small];
name[small] = name[i];
name[i] = temp;
order_grade(small ,i , grade);
}// end first for
}// end method
public static void order_grade(int sml, int j, int[] grad)
{
int temp;
temp=grad[sml];[sml] = grad[j];
grad[j] = temp;
}// end method
public static void print_std(String[] names , int[] grades)
{
System.out.printf("%n%-30s %-6s %n"," names","grades" ) ;
System.out.println("-----------------------------------------------");
for(int i=0 ; i<names.length ; i++)
System.out.printf(" %-30s %-4d %n",names[i],grades[i] ) ;
}// end method print_std
}// end class
----------------------‫ مصفوفة و يعمل معهم على التوازي يعني‬2 ‫هنا البرنامج اللي حكيتلكم عنه اللي يعرف‬
Parallel array
/*3- Write a program that reads information for
a list of students composed of: name, score.
Your program should sort the names alphabetically,
then print the sorted list with the grade (A, B, C …).*/
// sheet 12 exer 3
import java.util.*;
public class list_Student_sheet12
{
static Scanner consol = new Scanner(System.in);
public static void main(String[] args)
{
int len = 3 ;
String[] names=new String[len];
double[] scor = new double[len];
for(int i=0 ; i<names.length ; i++)
{
System.out.println("enter student name then score"
+" for student("+(i+1)+") :");
names[i] = consol.next();
scor[i] = consol.nextInt();
}// end for
sort(names , scor);
print(names , scor);
}// end main
public static void print(String[] std , double[] scor)
{
char grade;
int i ;
for (i=0; i< std.length ; i++)
{
if(scor[i]>=90)
grade='A' ;
else if(scor[i]>=80)
grade='B' ;
else if(scor[i]>=70)
grade='C' ;
else if(scor[i]>=60)
grade='D' ;
else grade='F' ;
System.out.println(std[i] +"
"+grade);
}// end for
}// end method
public static void sort(String[] std , double[] scor)
{
String temp ;
double temp_double ;
for(int i=0 ; i<std.length-1 ; i++)
{
for(int j= i+1 ; j<std.length ; j++)
{
if(std[i].compareTo(std[j])>0)
{
temp= std[i];
std[i]=std[j];
std[j]=temp;
// another array
temp_double= scor[i];
scor[i]=scor[j];
scor[j]=temp_double;
} // end if
} // end for j
}// end for i
}// end method
}// end class
------------------------------/* 4- Write a program that reads a list of n integers between
0 and 10, then print the number of occurrences of each
integer read. Do not print 0 occurrences.*/
import java.util.*;
class sheet12_exer4
{
static Scanner consol = new Scanner(System.in);
public static void main(String[] args)
{
int n ;
int[] list = new int[11];
System.out.println("how many
n = consol.nextInt();
Number you want to enter :");
for (int i=0 ; i<n ; i++)
{
System.out.println("enter Number :");
list[consol.nextInt()]++ ;
}
for (int i=1 ; i<11; i++)
System.out.println("NO ("+i+") = "+ list[i]);
}//end main
}// end class