0% found this document useful (0 votes)
16 views20 pages

175 20231030113602 ch03b

The program prompts the user to enter their first and last name. It then constructs their "gangsta name" by capitalizing the first initial of their first name, adding "Diddy", capitalizing their last name, adding their first name, and ending with "-izzle". The full gangsta name is then printed out.

Uploaded by

arturoaredo13
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views20 pages

175 20231030113602 ch03b

The program prompts the user to enter their first and last name. It then constructs their "gangsta name" by capitalizing the first initial of their first name, adding "Diddy", capitalizing their last name, adding their first name, and ending with "-izzle". The full gangsta name is then printed out.

Uploaded by

arturoaredo13
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 20

Building Java Programs

Chapter 3
Parameters and Objects
Objects and Classes;
Strings
Classes and objects
• class: A program entity that represents either:
1. A program / module, or
2. A type of objects.

– A class is a blueprint or template for constructing objects.

– Example: The DrawingPanel class (type) is a template for


creating many DrawingPanel objects (windows).
• Java has 1000s of classes. Later (Ch.8) we will write our own.

• object: An entity that combines data and behavior.


– object-oriented programming (OOP): Programs that perform
their behavior as interactions between objects.

3
Objects
• object: An entity that contains data and behavior.
– data: variables inside the object
– behavior: methods inside the object
• You interact with the methods;
the data is hidden in the object.

• Constructing (creating) an object:


Type objectName = new Type(parameters);

• Calling an object's method:


objectName.methodName(parameters);

4
Blueprint analogy
iPod blueprint/factory
state:
current song
volume
battery life
behavior:
power on/off
change station/song
change volume
choose random song

creates

iPod #1 iPod #2 iPod #3


state: state: state:
song = "1,000,000 Miles" song = "Letting You" song = "Discipline"
volume = 17 volume = 9 volume = 24
battery life = 2.5 hrs battery life = 3.41 hrs battery life = 1.8 hrs
behavior: behavior: behavior:
power on/off power on/off power on/off
change station/song change station/song change station/song
change volume change volume change volume
choose random song choose random song choose random song

5
Strings
• string: An object storing a sequence of text characters.
– Unlike most other objects, a String is not created with new.

String name = "text";


String name = expression;

– Examples:
String name = "Marla Singer";
int x = 3;
int y = 5;
String point = "(" + x + ", " + y + ")";

6
Indexes
• Characters of a string are numbered with 0-based indexes:
String name = "R. Kelly";
index 0 1 2 3 4 5 6 7
character R . K e l l y

– First character's index : 0


– Last character's index : 1 less than the string's length

– The individual characters are values of type char (seen later)

7
String methods
Method name Description
indexOf(str) index where the start of the given string appears
in this string (-1 if not found)
length() number of characters in this string
substring(index1, index2) the characters in this string from index1
or (inclusive) to index2 (exclusive);
substring(index1) if index2 is omitted, grabs till end of string
toLowerCase() a new string with all lowercase letters
toUpperCase() a new string with all uppercase letters

• These methods are called using the dot notation:


String gangsta = "Dr. Dre";
System.out.println(gangsta.length()); // 7
8
String method examples
// index 012345678901
String s1 = "Stuart Reges";
String s2 = "Marty Stepp";
System.out.println(s1.length()); // 12
System.out.println(s1.indexOf("e")); // 8
System.out.println(s1.substring(7, 10)); // "Reg"
String s3 = s2.substring(1, 7);
System.out.println(s3.toLowerCase()); // "arty s"

• Given the following string:


// index 0123456789012345678901
String book = "Building Java Programs";

– How would you extract the word "Java" ?

9
Modifying strings
• Methods like substring and toLowerCase build and return
a new string, rather than modifying the current string.
String s = "lil bow wow";
s.toUpperCase();
System.out.println(s); // lil bow wow

• To modify a variable's value, you must reassign it:


String s = "lil bow wow";
s = s.toUpperCase();
System.out.println(s); // LIL BOW WOW

10
Interactive Programs with
Scanner
Input and System.in
• interactive program: Reads input from the console.
– While the program runs, it asks the user to type input.
– The input typed by the user is stored in variables in the code.

– Can be tricky; users are unpredictable and misbehave.


– But interactive programs have more interesting behavior.

• Scanner: An object that can read input from many sources.

– Communicates with System.in (the opposite of System.out)


– Can also read from files (Ch. 6), web sites, databases, ...

12
Scanner syntax
• The Scanner class is found in the java.util package.
import java.util.*; // so you can use Scanner

• Constructing a Scanner object to read console input:


Scanner name = new Scanner(System.in);

– Example:
Scanner console = new Scanner(System.in);

13
Scanner methods
Method Description
nextInt() reads an int from the user and returns it
nextDouble() reads a double from the user
next() reads a one-word String from the user
nextLine() reads a one-line String from the user

– Each method waits until the user presses Enter.


– The value typed by the user is returned.

System.out.print("How old are you? "); // prompt


int age = console.nextInt();
System.out.println("You typed " + age);

• prompt: A message telling the user what input to type.


14
Scanner example
import java.util.*; // so that I can use Scanner
public class UserInputExample {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);

System.out.print("How old are you? "); age 29


int age = console.nextInt();
years 36
int years = 65 - age;
System.out.println(years + " years to retirement!");
}
}

• Console (user input underlined):


29
How old are you?
36 years until retirement!
15
Scanner example 2
import java.util.*; // so that I can use Scanner
public class ScannerMultiply {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.print("Please type two numbers: ");
int num1 = console.nextInt();
int num2 = console.nextInt();
int product = num1 * num2;
System.out.println("The product is " + product);
}
}

• Output (user input underlined):


Please type two numbers: 8 6
The product is 48

– The Scanner can read multiple values from one line.


16
Input tokens
• token: A unit of user input, as read by the Scanner.
– Tokens are separated by whitespace (spaces, tabs, new lines).
– How many tokens appear on the following line of input?
23 John Smith 42.0 "Hello world" $2.50 " 19"

• When a token is not the type you ask for, it crashes.


System.out.print("What is your age? ");
int age = console.nextInt();

Output:
What is your age? Timmy
java.util.InputMismatchException
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
...
17
Strings as user input
• Scanner's next method reads a word of input as a String.
Scanner console = new Scanner(System.in);
System.out.print("What is your name? ");
String name = console.next();
name = name.toUpperCase();
System.out.println(name + " has " + name.length() +
" letters and starts with " + name.substring(0, 1));

Output:
What is your name? Chamillionaire
Chamillionaire has 14 letters and starts with C

• The nextLine method reads a line of input as a String.


System.out.print("What is your address? ");
String address = console.nextLine();

18
Strings question
• Write a program that outputs a person's "gangsta name."
– first initial
– Diddy
– last name (all caps)
– first name
– -izzle

Example Output:
Type your name, playa: Marge Simpson
Your gangsta name is "M. Diddy SIMPSON Marge-izzle"

19
Strings answer
// This program prints your "gangsta" name.
import java.util.*;

public class GangstaName {


public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.print("Type your name, playa: ");
String name = console.nextLine();

// split name into first/last name and initials


String first = name.substring(0, name.indexOf(" "));
String last = name.substring(name.indexOf(" ") + 1);
last = last.toUpperCase();
String fInitial = first.substring(0, 1);

System.out.println("Your gangsta name is \"" + fInitial +


". Diddy " + last + " " + first + "-izzle\"");
}
}

20

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy