Skip to document

Typing Speed Calculator Final Report

project
Course

Advanced JAVA AND J2EE (18cs644)

25 Documents
Students shared 25 documents in this course
Academic year: 2018/2019
Uploaded by:
Anonymous Student
This document has been uploaded by a student, just like you, who decided to remain anonymous.
Visvesvaraya Technological University

Comments

Please sign in or register to post comments.

Preview text

Varcons Technologies Pvt Ltd

PROJECT 1 :

TYPING SPEED CALCULATOR

####### NAME : LIKITH GOWDA KN

####### USN : 1AH22EC

####### E-MAIL : likithgowdakn5032@gmail

Varcons Technologies Pvt Ltd ACKNOWLEDGEMENT While I was making this project, a lot of information that I found helped me in chapter and I am glad that I was able to complete this project and was able to understand many things. It gave me an immense pleasure while doing this project because it was not just a project but, a source to learn not just about chapter but also I inculcated many qualities like responsibility , punctuality , confidence and what not. The journey of making this project was so nice and in all this my teachers who supported me all the time, cleared my doubts and the parents support also played a big role and my friends too helped me. I thank to all of them and wish that they keep supporting me like this. Doing work on time is something everyone needs to learn and through this project I have improved my timing and also it made my thinking skills better. A project is a bridge between theoretical and practical learning and with this thinking I worked on the project and made it successful due to timely support and efforts of all who helped me. Once again thank you Sir/Ma'am to give me this project and to make me learn so many things .I have no more valuable words to express my thanks, but my heart is still full of favor received from every person.

Varcons Technologies Pvt Ltd INDEX NO TITLE PAGE NO. 1 Brief overview on project 05 2 Advantages and challenges while completing project 05 - 06 3 Software and hardware requirement for project 06 4 Implementation of project 07 - 09 5 Conclusion 10 6 Bibliography 11 - 12

A BRIEF OVERVIEW ON THE PROJECT: The Typing Speed Calculator Java project is a console-based application developed to evaluate the typing speed and accuracy of users. The program prompts users to input a predefined passage or allows them to type a custom text. Once the user completes the typing task, the application calculates the typing speed in words per minute (WPM) and accuracy based on the number of correctly typed words. The project is implemented in Java, focusing on core functionality such as tracking user input, calculating the time taken to complete the typing task, and determining accuracy by comparing the input with the correct passage. The logic ensures precise measurement of typing speed and accuracy, providing users with valuable feedback on their typing proficiency. This Typing Speed Calculator project can be utilized in various scenarios, including educational environments, typing training programs, or as a simple self- assessment tool for individuals looking to enhance their typing skills without the need for a graphical user interface. 2 AND CHALLENGES WHILE COMPLETING THE PROJECT.

  1. Skill Development: Enhances Java programming skills.
  2. Educational Value: Practical tool for typing skill assessment.
  3. Real-world Applicability: Useful in education and job assessments.
  4. Algorithmic Thinking: Fosters efficient algorithm design.
  5. Customization: Allows for creative features like customizable passages.

Challenges:

  1. Accuracy Calculation: Handling typos and punctuation for precise accuracy.
  2. User Input: Efficiently managing typing input and detecting completion.
  3. Timer Accuracy: Implementing a precise timer without disrupting user experience.
  4. Error Handling: Gracefully managing unexpected scenarios.
IMPLEMENTATION OF THE PROJECT with
Screenshots:

CODE: package swingdemo; import javax.; import java.; import java.awt.event; import java.awt.event; public class tym extends JFrame { private JTextArea sentenceArea; private JTextField userInputField; private JButton startButton; private JLabel accuracyLabel; private JLabel wpmLabel; private JLabel cpmLabel; private String sentence = "The quick brown fox jumps over the lazy dog."; private long startTime; public tym() { setTitle("Typing Speed Calculator"); setSize(600, 300); setDefaultCloseOperation(JFrame_ON_CLOSE); setLayout(new BorderLayout()); sentenceArea = new JTextArea(sentence); sentenceArea(false); sentenceArea(new Font("Arial", Font, 16)); add(sentenceArea, BorderLayout); userInputField = new JTextField(); userInputField(new Font("Arial", Font, 16)); add(userInputField, BorderLayout); startButton = new JButton("Start"); startButton(new Font("Arial", Font, 16)); add(startButton, BorderLayout); startButton(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { startTyping(); } }); JPanel resultPanel = new JPanel(new GridLayout(3, 1)); accuracyLabel = new JLabel("Accuracy: "); wpmLabel = new JLabel("WPM: ");

cpmLabel = new JLabel("CPM: "); resultPanel(accuracyLabel); resultPanel(wpmLabel); resultPanel(cpmLabel); add(resultPanel, BorderLayout); setLocationRelativeTo(null); } private void startTyping() { startTime = System(); userInputField(true); userInputField(""); userInputField(); startButton(false); userInputField(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { endTyping(); } }); } private void endTyping() { long endTime = System(); userInputField(false); startButton(true); String userInput = userInputField(); int correctCharacters = calculateCorrectCharacters(userInput); int totalCharacters = sentence(); int totalWords = sentence("\s+").length; long totalTime = endTime - startTime; double accuracy = (double) correctCharacters / totalCharacters * 100; int wpm = (int) ((totalWords / (double) totalTime) * 60000); int cpm = (int) ((totalCharacters / (double) totalTime) * 60000); accuracyLabel("Accuracy: " + String("%", accuracy) + "%"); wpmLabel("WPM: " + wpm); cpmLabel("CPM: " + cpm); } private int calculateCorrectCharacters(String userInput) { int correctCharacters = 0; for (int i = 0; i < Math(sentence(), userInput()); i++) { if (sentence(i) == userInput(i)) { correctCharacters++; } } return correctCharacters; }

CONCLUSION:

In conclusion, the Java programming project has been an enriching and rewarding experience. Throughout the project, we have delved into the world of Java and explored its various features, functionalities, and applications. The project allowed us to apply the knowledge gained during our study of Java programming to real-world scenarios. We successfully designed and implemented a variety of Java programs, ranging from simple algorithms to complex applications. Through this hands-on approach, we honed our problem-solving skills and developed a deeper understanding of Java's object-oriented principles. Furthermore, the project provided us with valuable insights into the significance of proper code organization, readability, and documentation. Writing clean and well-structured code became an essential aspect of our programming practice, ensuring that our projects are maintainable and scalable in the future. Throughout the project development, we faced challenges that pushed us to think creatively and critically. The process of troubleshooting and debugging has strengthened our ability to identify and resolve issues efficiently, enhancing our confidence as Java programmers. Collaboration and teamwork played a pivotal role in the project's success. Working together, we exchanged ideas, supported each other, and leveraged our individual strengths to create comprehensive and robust solutions. In conclusion, the Java programming project has provided us with a solid foundation in Java programming, allowing us to explore the vast possibilities that this language offers. It has been a journey of growth and learning, and we are now better-equipped programmers, ready to take on more complex and exciting projects in the future. This project has ignited our passion for programming, and we look forward to continuing our exploration and mastery of Java in our future endeavors.

BIBLIOGRAPHY:  “Core Java™, Volume I--Fundamentals (8th Edition) “ , by Cay S. Horstmann, Prentice Hall; 8 edition (April 18, 2008).  “Effective Java (2nd Edition)” , by Addison-Wesley; 2 edition (May 28, 2008) .  “Java The Complete Reference, 8th Edition”, McGraw-Hill Osborne Media; 8 edition (June 22, 2011).  A Programmer's Guide to Java SCJP Certification: A Comprehensive Primer (3rd Edition), Addison-Wesley Professional; 3 edition (December 29, 2008).  “More Java Pitfalls: 50 New Time-Saving Solutions and Workarounds” , by Michael C. Daconta (Author), Kevin T. Smith (Author), Donald Avondolio (Author), W. Clay Richardson (Author), Wiley; 1 edition (February 3, 2003).  “Head First Servlets and JSP: Passing the Sun Certified Web Component Developer Exam “, by Bryan Basham (Author), Kathy Sierra (Author), Bert Bates (Author), O'Reilly Media; Second Edition edition (April 1, 2008).  “Head First Design Patterns”, Elisabeth Freeman (Author), Eric Freeman (Author), Bert Bates (Author), Kathy Sierra (Author), Elisabeth Robson (Author), O'Reilly Media; 1 edition (November 1, 2004)   “EJB 3 in Action”, Debu Panda (Author), Reza Rahman (Author), Derek Lane (Author), Manning Publications; 1 edition (April 16, 2007).  “JBoss: A Developer's Notebook” , Norman Richards (Author),

THANK YOU

Was this document helpful?

Typing Speed Calculator Final Report

Course: Advanced JAVA AND J2EE (18cs644)

25 Documents
Students shared 25 documents in this course
Was this document helpful?
Varcons Technologies Pvt Ltd
1 | P a g e
PROJECT 1 :
TYPING SPEED CALCULATOR
NAME : LIKITH GOWDA KN
USN : 1AH22EC021
E-MAIL : likithgowdakn5032@gmail.com