Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据用户提交的信息匹配用户_Java_Netbeans_Match_Criteria - Fatal编程技术网

Java 根据用户提交的信息匹配用户

Java 根据用户提交的信息匹配用户,java,netbeans,match,criteria,Java,Netbeans,Match,Criteria,现在我知道这是一个非常宽泛的问题,这就是为什么我希望得到一个宽泛的答案。我只是想被引导到正确的方向。 简单地说,我打算建立一个网站,用户可以在其个人资料中包含特定数据,并与其他输入相应数据的用户进行匹配,以便创建匹配。 类似于一个交友网站,根据最佳化学反应匹配用户。然而,这比那还要简单。我确实有NetBeans的编码经验,并且不断扩展我的网站开发知识 例如: 101, 102 and 103 = MATCH User A - Data [User lists they have 101] U

现在我知道这是一个非常宽泛的问题,这就是为什么我希望得到一个宽泛的答案。我只是想被引导到正确的方向。 简单地说,我打算建立一个网站,用户可以在其个人资料中包含特定数据,并与其他输入相应数据的用户进行匹配,以便创建匹配。 类似于一个交友网站,根据最佳化学反应匹配用户。然而,这比那还要简单。我确实有NetBeans的编码经验,并且不断扩展我的网站开发知识

例如:

101, 102 and 103 = MATCH  
User A - Data [User lists they have 101]
User B - Data [User lists they have 102 and 103]
用户A或B使用“查找完成您的集合的用户”,表或列列出完成此集合的用户


所以,如果有人能至少为我指出正确的方向,那将是非常感激的!我在Webs.com上建立了几个网站,但我不相信他们的工具能满足这种需求。我打算使用Java和NetBeans编程这个匹配系统,并在网站中实现。谢谢大家

您可能希望使用数据库来存储您的用户以及所有可能的属性集,这些属性集可以完成以进行匹配。以下是使用PostgreSQL创建此类数据库的一种方法:

create table person (
  id int primary key,
  first_name text not null,
  attributes text[]
);

create table match (
  id int primary key,
  attributes text[] 
);

insert into person values (1, 'Bob', array['A']);
insert into person values (2, 'Alice', array['B','D']);
insert into person values (3, 'Carol', array['B','C']);
insert into person values (4, 'Ted', array['D']);
insert into match values (1, array['A','B','D']);
我使用数组代替连接表,以减少冗余。现在,您可以通过运行以下查询来查找为Alice完成集合1的所有人员:

select
  id,
  first_name
from  
  (select
    p2.id as id,
    p2.first_name as first_name,
    array(      
      select unnest(p1.attributes) union select unnest(p2.attributes)
    ) as match_potential
  from
    person p1
    inner join person p2 on (p1.id = 2 and p2.id <> 2)) as p
where
  p.match_potential @> (select attributes from match where id = 1);
鲍勃和爱丽丝现在是一对


你最终需要做一些更复杂的事情,但这样的事情应该可以让你开始你的网站,并让你建立你的第一个原型,你可以用它来测试你的概念。

你打算使用数据库吗?我想这是最好的途径。我从来没有白手起家建立过一个网站,我会研究这个目标一段时间。我只需要一个好的基础让我走。你熟悉JDBC吗?你会写SQL查询吗?我很熟悉谷歌哈哈。我喜欢研究和学习这些东西,因为我要上计算机IT学校,所以如果你建议我更熟悉这些东西,我会的。我用Java编程学了一个学期,所以我知道如何创建简单的应用程序,并且有很好的基础理解。但我从未在网上或两个用户之间实现数据。只有一个用户回答问题、选项等。我真的几乎不知道这个目标的深层次技术运作。