Download presentation
Presentation is loading. Please wait.
Published byBeatrix Joseph Modified over 9 years ago
1
Zhen Jiang Dept. of Computer Science West Chester University West Chester, PA 19383 zjiang@wcupa.edu CSC141 Computer Science I 2/4/20161
2
Price is right. Sample execution (click on this link to try)this link http://www.cis.temple.edu/~jiang/price_is_right.exe Each button in the above sample REPEAT …? Loop 2/4/20162
3
While loop Format & Logic, page 197, Figure 4-1. Sample, code 4-3, page 198. 2/4/20163
4
4 ; while ( ) { ; }
5
Do-while loop Format, page 208 Logic, page 209, Figure 4-6. Sample, code 4-6, page 209. 2/4/20165
6
6 How does this differ from the while loop? The controlled will always execute the first time, regardless of whether the is true or false. 2/4/2016
7
For loop Format, page 212, Figure 4-7. Logic, page 212, Figure 4-8. Sample, code 4-7, page 213. 2/4/20167
8
8 for ( ; ; ) { ; } 2/4/2016
9
9 Summary Body first, and then event change/update
10
Development process http://www.cis.temple.edu/~jiang/LoopDevelopment.htm 2/4/201610
11
2/4/201611
12
Controlling Number of Loop Iterations If the number of iterations is known before the loop starts, the loop is called a count- controlled loop. Counter =0, counter++, counter <number Counter = 1, counter++, counter <=number Use for loop for an easy development. 2/4/201612
13
2/4/201613
14
2/4/201614
15
15 Code: for (int i = 1; i <= 4; i++) { System.out.println(i + " squared is " + (i * i)); } Output: 1 squared is 1 2 squared is 4 3 squared is 9 4 squared is 16 2/4/2016
16
16 Code: n=keyboard.nextInt(); // try 6! for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { System.out.print("*"); } System.out.println(); } Output: ****** 2/4/2016
17
17 Code: n=keyboard.nextInt(); // try 5! for (int i = 1; i <= n; i++) { for (int j = 1; j <= 10; j++) { System.out.print((i * j) + " "); } System.out.println(); } Output: 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 2/4/2016
18
18 Code: n=keyboard.nextInt(); // try 6! for (i = 1; i<=n; i++) System.out.print(“*”); System.out.println(“”); for (i = 1; i <= n-2; i++) { System.out.print(“*”); for (int j = 1; j <= n-2; j++) System.out.print(“ ”); System.out.println(“*”); } for (i = 1; i<=n; i++) System.out.print(“*”); System.out.println(“”); Output: ****** * ****** 2/4/2016
19
19 Code: n=keyboard.nextInt(); // try 6! for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { System.out.print("*"); } System.out.println(); } Output: * ** *** **** ***** ****** 2/4/2016
20
20 Code: n=keyboard.nextInt(); // try 6! for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { System.out.print(i); } System.out.println(); } Output: 1 22 333 4444 55555 666666 2/4/2016
21
21 Code: n=keyboard.nextInt(); // try 5! for (int i = 1; i <= n; i++) { for (int j = 1; j <= (n - i); j++) { System.out.print(" "); } for (int k = 1; k <= i; k++) { System.out.print(i); } System.out.println(); } Output: 1 22 333 4444 55555 2/4/2016
22
Otherwise (unknown or unclear), the loop is called a event-controlled loop. Use a while loop or a do-while loop for an easy checkpoint development. Asking the user before each iteration if it is time to end the loop is called the ask-before-iterating technique. Appropriate status update (or event initializing) for a sequence of iterations 2/4/201622 Controlling Event of Loop Iterations
23
2/4/201623
24
24 Finds and prints a number's first factor other than 1: int n = keyboard.nextInt(); // try 91 int f = 2; while (n % f != 0) { f++; } System.out.println("First factor:" + f); Sample run: First factor:7 2/4/2016
25
25 Write a program that will repeatedly prompt the user to type a number until the user types a non-negative number, then square it. Example log: Type a non-negative integer: -5 Invalid number, try again: -1 Invalid number, try again: -235 Invalid number, try again: -87 Invalid number, try again: 11 11 squared is 121 2/4/2016
26
26 System.out.print("Type a non-negative integer: "); int n = keyboard.nextInt(); while (n < 0) { System.out.print("Invalid number, try again: "); n = keyboard.nextInt(); } int square = n * n; System.out.println(n + " squared is " + square); Notice that the number variable had to be declared outside the while loop in order to remain in scope. 2/4/2016
27
27 Write a class named DigitSum that reads an integer from the user and prints the sum of the digits of that number. You may assume that the number is non-negative. Example: Enter a nonnegative number: 29107 prints out 19 (i.e., 2+9+1+0+7 ) Hint: Use the % operator to extract the last digit of a number. If we do this repeatedly, when should we stop? 2/4/2016
28
28 import java.util.Scanner; public class DigitSum { public static void main(String [] args) { Scanner keyboard = new Scanner(System.in); int n = keyboard.nextInt(); int sum = 0; while (n > 0) { sum += n % 10; // add last digit to sum n = n / 10; // remove last digit } System.out.println(“sum = “ + sum); } } 2/4/2016
29
29 Write a program named CountFactors that reads in an integer and displays its number of factors. For example, if the user enters 60, CountFactors displays 12 because 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, and 60 are all factors of 60. Scanner keyboard = new Scanner(System.in); int n = keyboard.nextInt(); int sum = 0, k = ?; while ( ) { } System.out.println(“sum = “ + sum); 2/4/2016
30
Exercise population http://www.cis.temple.edu/~jiang/6billion.exe TV purchase http://www.cis.temple.edu/~jiang/tv563.exe 1+2+4+8+... http://www.cis.temple.edu/~jiang/1_2_4.exe 1+2+3+4+...+99 1+2+3+4+...+99 http://www.cis.temple.edu/~jiang/1to99.exe 2/4/201630
31
2/4/201631
32
Solution 2/4/201632
33
File writing, page 237-240 Filename PringWriter Println Close Sample, code 4-17, page 237 2/4/201633
34
Appending data to a (existing) file FileWriter (, true), page 240 2/4/201634
35
File Reading, page 241-245 File Scanner nextXXXX( ) close Sample, code 4-18, page 242. 2/4/201635
36
Detecting the end of a file hasNext Code 4-19, page 245. Detecting the existence of a file exists Code 4-21, page 249. 2/4/201636
37
Random number generator randomNumbers.nextXXX( ) Sample, code 4-23, page 253. 2/4/201637
38
38 Objects of the Random class generate pseudo-random numbers. Class Random is found in the java.util package. import java.util.*; The methods of a Random object returns a random real number in the range [0.0, 1.0) nextDouble() returns a random integer in the range [0, max) in other words, from 0 to one less than max nextInt( max ) returns a random integer nextInt() DescriptionMethod name 2/4/2016
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.