Question

In: Computer Science

Write a Java application with a JavaFXGUI that takes a String input by the user and...

Write a Java application with a JavaFXGUI that takes a String input by the user and shows whether the string contains all 26 letters of the (English version of the Latin) alphabet. For example, "Pack my box with five dozen liquor jugs" contains all 26 letters, but "The quick frown box jumps over the hazy log" does not contain a d. It does not matter whether one or more letters appear more than once.

The GUI needs, at minimum, a label to say "Enter String: ", a TextBox to take input for the String, a label to show the answer ("String contains all 26 letters" or "String does not contain all 26 letters", and a button to trigger the method to determine the outcome.

Hints:

  • Use toLowerCase() or toUpperCase() on the characters from the String so that you do not have to worry about case.
  • *Absolutely don't* write 26 different statements to test all 26 letters. You can use a loop and cast (int) the loop counter to a char; upper case A is Unicode character 65.
  • String has a contains() method much like the one in List.

Solutions

Expert Solution

/************************

GuiApp.java

********************/

package gui.fx;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class GuiApp extends Application {
  
public static void main(String[] args) {
launch(args);
}
  
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("String Check");
  
Label lbl1 = new Label("Enter String:"); //label
  
TextField txt = new TextField(); //Text field where string will be input
txt.setPrefSize(400, 40);
txt.setMaxWidth(400); //max width is set to 400
  
Label lbl2 = new Label(""); //label for showing final outcome
  
Button btn = new Button(); //button : on click of this final outcome will be shown
btn.setText("Get Result");
btn.setOnAction(new EventHandler<ActionEvent>() { //this will be triggered when button is clicked
@Override
public void handle(ActionEvent event) {
String textToCheck = txt.getText(); //get the text from textfield
String result = checkResult(textToCheck); //get the result by calling checkResult() method
lbl2.setText(result);//set the outcome in lbl2
}
});
  
  
//add all the above in a VBox
VBox root = new VBox(20); //VBox will put all the children with a vertical gap of 20
root.getChildren().add(lbl1);//add lbl1
root.getChildren().add(txt);//add text field
root.getChildren().add(btn);//add the button
root.getChildren().add(lbl2);//add lbl2 to show the outcome
  
primaryStage.setScene(new Scene(root, 500, 300));
primaryStage.show();
}
  
/**
* The method checks whether the given text contains all the 26 letters or not
* @param text
* @return
*/
private String checkResult(String text){
   String result = null;
   String tempText = text.toLowerCase(); //converts text into all lower case
   boolean isLetterPresent = true;
   for(char currentLetter = 'a' ; currentLetter <='z'; currentLetter++){ //loop through each letter from a to z
       //System.out.println(String.valueOf(currentLetter));
       if(!tempText.contains(String.valueOf(currentLetter))){ //if tempText doesnot contain the current character
           isLetterPresent = false;//set the letter is not present
           break; //it will brak out of the loop
       }
   }
  
   //set result based on whether ll letter is found or not
   if(isLetterPresent){
       result = "String contains all 26 letters";
   }else{
       result = "String does not contain all 26 letters";
   }
  
   return result;
}
}

======================================

OUTPUT

======================================


Related Solutions

Write a Java application with a JavaFXGUI that takes a String input by the user and...
Write a Java application with a JavaFXGUI that takes a String input by the user and shows whether the string contains all 26 letters of the (English version of the Latin) alphabet. For example, "Pack my box with five dozen liquor jugs" contains all 26 letters, but "The quick frown box jumps over the hazy log" does not contain a d. It does not matter whether one or more letters appear more than once. The GUI needs, at minimum, a...
Java Code: Write an application that takes in user input. (Name, Age, and Salary) ------ Write...
Java Code: Write an application that takes in user input. (Name, Age, and Salary) ------ Write an application that includes a constructor, user input, and operators.
Write a Java program that prompts the user to input a string and prints whether it...
Write a Java program that prompts the user to input a string and prints whether it is a palindrome. A palindrome is a string which reads the same backward as forward, such as Madam (disregarding punctuation and the distinction between uppercase and lowercase letters). The program must use the stack data structure. The program must include the following classes: The StackX class (or you can use the Java Stack class). The Palindrome class which must contain a method named palindrome()...
Write a recursive method using Java that takes a string s as input and returns a...
Write a recursive method using Java that takes a string s as input and returns a list that contains all the anagrams of the string s. An anagram is a word formed by rearranging the letters of a different word. For instance, the word ‘cat’ is an anagram of ‘act’. Notice that the output list cannot contain duplicates.
Write a Java method that takes an input string and computes the income minus the expenses....
Write a Java method that takes an input string and computes the income minus the expenses. The income components are indicated by numbers; while the expenses from your spending are numbers starting with a minus sign '-'. The input string may contain lowercase and uppercase letters, as well as other characters. Note that Character.isDigit(char) tests if a char is one of the chars '0', '1', ..., '9'. Also recall that Integer.parseInt(string) converts a string to an int. Test cases :...
Write a function that takes a C string as an input parameter and reverses the string.
in c++ Write a function that takes a C string as an input parameter and reverses the string. The function should use two pointers, front and rear. The front pointer should initially reference the first character in the string, and the rear pointer should initially reference the last character in the string. Reverse the string by swapping the characters referenced by front and rear, then increment front to point to the next character and decrement rear to point to the...
Write a Python program which prompts the user to input a string. Then, print the string...
Write a Python program which prompts the user to input a string. Then, print the string in reverse to the terminal Sample output Please enter a word: "zeus" The reverse of zeus is suez Hint: There are several ways to accomplish this. Recall that a string is an itterable object and therefore can be used with a for loop
Write a program that takes in a positive integer as input, and outputs a string of...
Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is: As long as x is greater than 0 Output x % 2 (remainder is either 0 or 1) x = x / 2 Note: The above algorithm outputs the 0's and 1's in reverse order. Ex: If the input is: 6 the output is: 011 6 in binary is...
Write application in C# that enables a user to: Use Methods for user input and calculations...
Write application in C# that enables a user to: Use Methods for user input and calculations input the grade and number of credit hours for any number of courses. Calculate the GPA on a 4.0 scale using those values. Grade point average (GPA) is calculated by dividing the total amount of grade points earned, sometimes referred to as quality points, by the total number of credit hours attempted. For each hour, an A receives 4 grade or quality points, a...
Java Programming I need an application that collects the user input numbers into an array and...
Java Programming I need an application that collects the user input numbers into an array and after that calls a method that sums all the elements of this array. and display the array elements and the total to the user. The user decides when to stop inputting the numbers. Thanks for your help!
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT