我刚刚开始学习Java,我大部分时间都在观看视频教程,但是现在我决定做一些实际的事情,因为我认为我今天不能再吸收任何信息。
我有一个想法,不久前开发了一个健身应用程序,但是在没有任何知识的情况下实际上是多么困难,所以我想我将从创建一个宏计数器开始。我创建了一个类:
public class Food {
private String name;
public int weight;
private int calories;
private int protein;
private int fat;
private int carbs;
public int tCals = weight * calories;
public int tProtein = weight * protein;
public int tFat = weight * fat;
public int tCarbs = weight * carbs;
public void macrocounter(){
System.out.println("Total calories: " + tCals);
System.out.println("\nProtein: " + tProtein);
System.out.println("\nCarbs: " + tCarbs);
System.out.println("\nFat: " + tFat);
System.out.println("-------------");
}
}
现在我遇到的问题是创建一个数据库。我想首先添加至少10份简单的饭菜,他们都会将这些宏放在一块石头上,用户只需输入用餐的名称和他吃了多少克,然后应用程序就能识别出来的食物。数据库,填写重量,并打印出总宏。
我不是在问这里如何编写具体的代码,你能不能指出我应该阅读的更多内容,以便能够做到这一点? Java是一种非常庞大的语言,我无法找到创建数据库所需的实际信息。
谢谢。
答案 0 :(得分:1)
一些oneline教程很好。但我会考虑投资一本好的Java书。我发现BigJava Cay S. Horstmann是一个非常有用的信息来源。它为您提供了大量练习和练习代码的机会,并以非常清晰的方式解释了这些内容。如果我在书中遵循某种方法有困难,我只会去在线教程。但我不会将它们用作学习资源,因为它们可能不正确。
虽然这是一本很昂贵的书,但你可能会得到旧版的cheeap或二手副本。甲骨文的网站也提供了有用的书面教程供您遵循https://docs.oracle.com/javase/tutorial/但我发现这本书更容易理解。
答案 1 :(得分:0)
您只想将数据存储在主内存中?或者在真正的数据库到磁盘?
如果是第一个选项,您可以这样做:
ArrayList<Food> foods = new ArrayList<Food>();
获得列表后,您可以添加以下内容:
Food f = new Food(...data...); //You need a constructor
//to pass the data.
foods.add(f);
要咨询它,你可以做很多事情:
Food f0 = foods.get(0);
Food f1 = foods.get(1);
您还可以查询特定对象:
if (foods.contains(f0) {
// ...
}
Google for&#34; java class ArrayList&#34;而且你会看到你能做些什么。
相反,如果要创建真实数据库,则需要阅读有关JDBC驱动程序的信息。首先,我建议您使用sqlite。
package consultarcalibredb;
import java.sql.*;
public class ConsultarCalibreDB {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Connection conn = null;
int id;
String title, author, path;
try {
DriverManager.registerDriver(new org.sqlite.JDBC());
conn = DriverManager.getConnection("jdbc:sqlite:/home/user/folder/file.db");
String sql = "select id, title, author_sort, path from books where author_sort like '%orwell%'";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
System.out.println("id\ttitulo\tautor\tpath");
while (rs.next()) {
id = rs.getInt("id");
title = rs.getString("title");
author = rs.getString("author_sort");
path = rs.getString("path");
System.out.println(id+"\n"+title+
"\n"+author+"\n"+path);
System.out.println();
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
答案 2 :(得分:0)
感谢您的帮助,我对我应该学习什么以及从哪里学到了很多建议。我不知道如何结束这个问题,但如果你这样做,请这样做。