Skip to content

[LIS-WDFT-APR2023] Henrique Ortiz #27

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 52 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,58 @@
// Iteration 1: Names and Input
let hacker1 = "Henrique";
console.log("The driver's name is", hacker1);

let hacker2 = "Guy";
console.log("The navigator's name is", hacker2);

// Iteration 2: Conditionals
/*
2.1. Depending on which name is longer, print:
- The driver has the longest name, it has XX characters. or
- It seems that the navigator has the longest name, it has XX characters. or
- Wow, you both have equally long names, XX characters!.*/

console.log(hacker1.length)


if (hacker1.length > hacker2.length) {
console.log(`The driver has the longest name, it has ${hacker1.length} characters`);
}
else if (hacker1.length < hacker2.length) {
console.log(`It seems that the navigator has the longest name, it has ${hacker2.length} characters.`);
}
else {
console.log(`Wow, you both have equally long names ${hacker1.length} characters!.`);
}
// Iteration 3: Loops
/*3.1 Print the characters of the driver's name, separated by space, and in capital letters, i.e., "J O H N".*/

let driver = ""
for (i = 0; i < hacker1.length; i++) {
driver = driver + hacker1[i] + " ";
}
console.log(driver.toUpperCase());
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should use the .toUpperCase() method inside the loop, otherwise you are not saving the string with the upper cased letters, you are just console logging it:

let driver = ""

for (i = 0; i < hacker1.length; i++) {
    driver = driver + hacker1[i].toUpperCase() + " ";
}

console.log(driver);


//3.2 Print all the characters of the navigator's name, in reverse order, i.e., "nhoJ".

let reversed = "";
for (let nameReversed of hacker2) {
reversed = nameReversed + reversed;
}
console.log(reversed);

/*3.3 Depending on the lexicographic order of the strings, print:

The driver's name goes first.
Yo, the navigator goes first definitely.
What?! You both have the same name?*/


if (hacker2.localeCompare(hacker1)===1) {
console.log("The driver's name goes first.");
}
else if (hacker1.localeCompare(hacker2)===1) {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.localCompare() returns 1, 0 or -1 so here your condition should be checking if it is equal to -1:

( ... )
else if (hacker1.localeCompare(hacker2) === -1) 
( ... )

console.log("Yo, the navigator goes first definitely.");
}
else {
console.log("What?! You both have the same name?");
}