Java入门简单小项目:w3cschool助你学Java!

10,604次阅读
没有评论

共计 6121 个字符,预计需要花费 16 分钟才能阅读完成。

如果您想学习 Java 编程语言,最好的方法是通过实践来掌握它。在这篇文章中,我将介绍一些简单的 Java 入门小项目,可以帮助您开始学习 Java。(参考示例附在最后)

   1. 计算器应用程序

这是一个基本的 Java 项目,它可以让您了解 Java 编程语言的基础知识。您可以创建一个简单的计算器应用程序,该应用程序可以执行加、减、乘、除等基本数学运算。您可以使用 Java Swing 库为 UI 创建按钮和文本框,并使用 Java 中的数学函数来执行运算。

   2. 单词计数器

这是另一个简单的 Java 项目,可以帮助您加深对 Java 编程语言的理解。您可以创建一个程序,该程序读取输入文件中的文本,并计算每个单词出现的次数。您可以使用 Java 中的 FileInputStream 和 BufferedReader 类来读取文件内容,使用 Map 类来存储单词和其出现的次数。

   3. 简单的图书管理系统

这是一个介绍 Java 编程语言面向对象编程 (OOP) 概念的项目。您可以创建一个简单的图书管理系统,该系统可以添加、删除、查看和更新图书信息。您可以使用 Java 中的类和对象来表示图书和图书馆,使用数组或集合来存储多个图书。

   4. 简单的网络爬虫

这是一个有趣的 Java 项目,可以让您了解 Java 编程语言在网络编程方面的应用。您可以创建一个简单的网络爬虫,该爬虫可以从网页中提取信息。您可以使用 Java 中的 URLConnection 和 BufferedReader 类来访问网页内容,并使用正则表达式或其他技术来提取所需信息。

总之,这些 Java 入门小项目都非常适合初学者,它们涵盖了 Java 编程语言的不同方面。通过完成这些项目,您可以加深对 Java 编程语言的理解,并建立起自己的编程知识库。

参考示例:

  1. 计算器应用程序示例代码:

import javax.swing.*;

import java.awt.event.*; public class Calculator extends JFrame implements ActionListener { private JTextField textField; private JButton addButton, subtractButton, multiplyButton, divideButton, equalsButton; private double firstNumber = 0.0; private double secondNumber = 0.0; private char operator; public Calculator() {setTitle("Simple Calculator"); setSize(300, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); textField = new JTextField(15); textField.setHorizontalAlignment(JTextField.RIGHT); textField.setEditable(false); panel.add(textField); addButton = new JButton("+"); addButton.addActionListener(this); panel.add(addButton); subtractButton = new JButton("-"); subtractButton.addActionListener(this); panel.add(subtractButton); multiplyButton = new JButton("*"); multiplyButton.addActionListener(this); panel.add(multiplyButton); divideButton = new JButton("/"); divideButton.addActionListener(this); panel.add(divideButton); equalsButton = new JButton("="); equalsButton.addActionListener(this); panel.add(equalsButton); getContentPane().add(panel); setVisible(true); } public void actionPerformed(ActionEvent e) {if (e.getSource() == addButton) { operator = '+'; firstNumber = Double.parseDouble(textField.getText()); textField.setText(""); } else if (e.getSource() == subtractButton) { operator = '-'; firstNumber = Double.parseDouble(textField.getText()); textField.setText(""); } else if (e.getSource() == multiplyButton) { operator = '*'; firstNumber = Double.parseDouble(textField.getText()); textField.setText(""); } else if (e.getSource() == divideButton) { operator = '/'; firstNumber = Double.parseDouble(textField.getText()); textField.setText(""); } else if (e.getSource() == equalsButton) {secondNumber = Double.parseDouble(textField.getText()); double result = 0.0; switch (operator) { case '+': result = firstNumber + secondNumber; break; case '-': result = firstNumber - secondNumber; break; case '*': result = firstNumber * secondNumber; break; case '/': result = firstNumber / secondNumber; break; } textField.setText(Double.toString(result)); } } public static void main(String[] args) {new Calculator(); } }

   2. 单词计数器示例代码:

import java.io.*;

import java.util.*; public class WordCounter {public static void main(String[] args) {Map wordCountMap = new HashMap(); try {FileInputStream fileInputStream = new FileInputStream("input.txt"); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream, "UTF-8")); String line; while ((line = bufferedReader.readLine()) != null) {String[] words = line.split("s+"); // split by space or tab for (String word : words) {if (wordCountMap.containsKey(word)) {int count = wordCountMap.get(word); wordCountMap.put(word, count + 1); } else {wordCountMap.put(word, 1); } } } bufferedReader.close(); fileInputStream.close();} catch (IOException e) {e.printStackTrace(); } System.out.println(wordCountMap); } }

   3. 简单的图书管理系统:

import java.util.ArrayList;

import java.util.Scanner; public class Library {private ArrayList books; public Library() {books = new ArrayList(); } public void addBook(Book book) {books.add(book); } public void removeBook(Book book) {books.remove(book); } public void displayBooks() {for (Book book : books) {System.out.println(book); } } public static void main(String[] args) {Library library = new Library(); // 添加一些示例图书 library.addBook(new Book("The Great Gatsby", "F. Scott Fitzgerald", 1925)); library.addBook(new Book("To Kill a Mockingbird", "Harper Lee", 1960)); library.addBook(new Book("Pride and Prejudice", "Jane Austen", 1813)); Scanner scanner = new Scanner(System.in); while (true) {System.out.println("n 请选择一个操作:"); System.out.println("1. 显示所有图书"); System.out.println("2. 添加一本新图书"); System.out.println("3. 删除一本图书"); System.out.println("4. 退出"); int choice = scanner.nextInt(); switch (choice) { case 1: library.displayBooks(); break; case 2: System.out.print("请输入书名:"); String title = scanner.next(); System.out.print("请输入作者名:"); String author = scanner.next(); System.out.print("请输入出版年份:"); int year = scanner.nextInt(); library.addBook(new Book(title, author, year)); System.out.println("添加成功!"); break; case 3: System.out.print("请输入要删除的书名:"); String bookTitle = scanner.next(); boolean bookRemoved = false; for (Book book : library.books) {if (book.getTitle().equals(bookTitle)) {library.removeBook(book); bookRemoved = true; System.out.println("删除成功!"); break; } } if (!bookRemoved) {System.out.println("未找到该书,删除失败!"); } break; case 4: System.out.println("程序已退出。"); return; default: System.out.println("输入无效,请重新选择。"); } } } } class Book { private String title; private String author; private int year; public Book(String title, String author, int year) { this.title = title; this.author = author; this.year = year; } public String getTitle() {return title;} public void setTitle(String title) {this.title = title;} public String getAuthor() {return author;} public void setAuthor(String author) {this.author = author;} public int getYear() {return year;} public void setYear(int year) {this.year = year;} @Override public String toString() {return "书名:" + title + "t 作者:" + author + "t 出版年份:" + year;} }

   4. 简单的网络爬虫示例代码:

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; public class WebCrawler { private static final int MAX_DEPTH = 2; // 爬取的最大深度 private static int depth = 0; // 当前深度 public static void main(String[] args) { String url = "https://www.example.com"; // 起始 URL crawl(url); } public static void crawl(String url) {if (depth> MAX_DEPTH) {return;} try {Document document = Jsoup.connect(url).get(); // 获取页面文档对象 Elements links = document.select("a[href]"); // 获取所有链接元素 for (Element link : links) {String nextUrl = link.absUrl("href"); System.out.println(nextUrl); // 输出当前页的链接 // 递归爬取下一层页面 depth++; crawl(nextUrl); depth--; } } catch (IOException e) {e.printStackTrace(); } } }

原文地址: Java 入门简单小项目:w3cschool 助你学 Java!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-23发表,共计6121字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)