
正文
java代码创建房间 java工程怎么创建
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎么用java做局域网的聊天工具(聊天室)?
呵呵,楼主您好!要用Java做聊天室说简单也不简单,但是说难呢也不难.
说简单点,就是会话跟踪技术(我个人这样理解).要做聊天室,您需要
使用到的工具: tomcat 服务器(因为是免费的,其他也可以哦,呵呵).
Myeclipse(sun公司提供的编写Java程序的工具,别说你不知道哈,
哪样的话我就晕倒了哦,呵呵)
页面框架的设计:index.jsp(聊天室主页面)index_top.jsp(聊天室的顶部页面)
usersonline.jsp(在线人数的统计及显示页面) sendMessage.jsp(发送信息的页面)
showMessage.jsp(显示聊天信息的页面)register.jsp(用户注册的页面)
login.jsp(用户登录页面)
当然,这是最简单的设计方式咯.您也可以设计得更好点.
页面介绍与功能:
index.jsp 主要是聊天室的主页面.由上中下3个框架组成,中间部分在分为
左右2个框架.实际上index.jsp就是一个由于5个框架组成的页面
顶部框架:放index_top.jsp页面.可以设计自己聊天室的特色(比如说:logo)
中间部分的左边框架:showMessage.jsp 显示聊天的信息
中间部分的右边框架:usersonline.jsp(在线人数的统计及显示页面)
底部框架:sendMessage.jsp 这个发送信息的jsp页面.不多说吧
聊天室的框架的设计大楷就是这样子咯
实现聊天:
1.编写一个servlet,用户处理的信息(包括验证用户是否登录和聊天信息)。
2.用户发送信息之后,将发送的信息存放到Application中(群聊)(放在session中就是私聊)
3.显示信息的页面每个XX秒中获取session或者Application中的数据显示出来就OK了
更多的东西还是需要您学习Ajax之后再做,会有不一样的效果哦。祝您成功哟.呵呵
相关问答
Q1: 求问这道题该怎么做?最好给出详细思路 谢谢
public class HotelManager
{
//定义二维数组来保存所有房间
private static Room[][] rooms=new Room[5][10];
//打印所有房间java代码创建房间的方法
public static void printRooms()
{
//获取每一层的房间
for (Room[] ar:rooms)
{
//获取这一层每一间房间并打印
for (Room r:ar)
{
System.out.print(r);
}
//每打印完一层就输出一个换行符
System.out.print("\n");
}
}
//预定房间java代码创建房间,将房间设为有人居住
public static void buyRoom(int x,int y)
{
rooms[y-1][x-1].setLived(true);
}
//退房
public static void returnRoom(int x,int y)
{
rooms[y-1][x-1].setLived(false);
}
//静态初始化块,初始化房间数组
static
{
for (int i=0;irooms[0].length;i++)
{
rooms[0][i]=new Room(RoomType.NORMAL,i+1,1);
}
for (int i=0;irooms[1].length;i++)
{
rooms[1][i]=new Room(RoomType.NORMAL,i+1,2);
}
for (int i=0;irooms[2].length;i++)
{
rooms[2][i]=new Room(RoomType.DOUBLE,i+1,3);
}
for (int i=0;irooms[3].length;i++)
{
rooms[3][i]=new Room(RoomType.DOUBLE,i+1,4);
}
for (int i=0;irooms[4].length;i++)
{
rooms[4][i]=new Room(RoomType.LUXURY,i+1,5);
}
}
//用于测试效果的main方法,获取用户输入并执行对应方法的代码留给java代码创建房间你自己做:)
public static void main(String[] args)
{
printRooms();
System.out.println();
buyRoom(9,5);
printRooms();
System.out.println();
buyRoom(1,3);
buyRoom(6,4);
printRooms();
System.out.println();
buyRoom(2,2);
returnRoom(1,3);
System.out.println();
printRooms();
}
}
//房间类
class Room
{
//储存房间的类型、位置和是否有人居住
private final RoomType type;
private final int x,y;
private boolean lived;
//各个成员变量的setter和getter方法
public RoomType getType()
{
return type;
}
public int[] getLocation()
{
return new int[]{x,y};
}
public void setLived(boolean lived)
{
this.lived=lived;
}
public boolean getLived()
{
return lived;
}
//创建房间对象必须要使用房间类型枚举和坐标
public Room(RoomType type,int x,int y)
{
this.type=type;
this.x=x;
this.y=y;
}
//重写toString()方法以输出房间的描述信息
public String toString()
{
return y+""+(x10?"0"+x:x)+" "+type+" "+(lived?"有人居住":"无人居住")+" ";
}
}
//房间类型枚举
enum RoomType
{
NORMAL("标准间"),DOUBLE("双人间"),LUXURY("豪华间");
private String string;
public String toString()
{
return string;
}
private RoomType(String string)
{
this.string=string;
}
}
//你的问题分类应该写Java,要不然别人不可以用知道的代码格式的~
Q2: java程序定义抽象房间类room,类中包括房间号爱床位数是否有空调等成员变量,定义根据住宿天数计算
//1.定义抽象类Room
public abstract class Room {
//定义抽象方法
public void roomCost(int days){ };
}
//2.定义子类Single
public class Single extends Room {
private String bedNo;//定义属性床号
private Boolean isAirConditioning=true;//定义是否为空调房
private double roomPrice = 100.00;//定义非空调房基准价位属性
//计算房价方法
public void roomCost(int days){
//当是空调房进入if语句体java代码创建房间,非空调房进入else语句体。
if(isAirConditioning){
roomPrice += days*10.00;
System.out.println("您java代码创建房间的房间号为:"+getBedNo()+"号为空调房您java代码创建房间的住宿费用如下:");
System.out.print(roomPrice);
System.out.print("人民币");
}else{
System.out.println("您的房间号为:"+getBedNo()+"号住宿费用如下:");
System.out.print(roomPrice);
System.out.print("人民币");
}
}
public String getBedNo() {
return bedNo;
}
public void setBedNo(String bedNo) {
this.bedNo = bedNo;
}
public double getRoomPrice() {
return roomPrice;
}
public void setRoomPrice(double roomPrice) {
this.roomPrice = roomPrice;
}
public static void main(String[] args) {
Single sg = new Single();
//给的房间为空调房
sg.isAirConditioning=true;
//给房间号值
sg.bedNo = "3102";
//执行房间计费方法
sg.roomCost(3);
}
}
Q3: 我做java的简易聊天室,已经可以群聊和私聊,如何把创建房间加进去,且只能同一个房间里才能群聊和私聊?
我说下思路:
1、客户端创建房间时给每个房间分配惟一的一个房间ID,房间是公开的,每个连接的客户端都可以看到,房间属性,比如密码,比如黑名单,房间保存在Server内存当中,如果你使用了集群,建议存储到分布式缓存当中(Redis是最好的选择,其次是memcached),当创建完成后,将房间信息发送给所有客户端。新客户端连接进来时,客户端要主动从服务端拉取房间信息。建议采用服务端主动通知(房间增减,服务端主动通知给所有客户端)和客户端定时轮询(客户端起个定时任务,每隔一定时间主动向服务端拉取房间列表)的方式来保证房间列表的动态更新。
2、当客户端选择加入房间时,如果设置有加入条件,比如密码,那就提示客户端输入,如果是其他条件就判断加入客户端是否符合这个条件。服务端保存房间同客户端的关联关系(可以设计成一对多,也就是一个客户端只能在一个房间聊天,也可以设计成多对多,一个客户端可以同时加入多个房间聊天,主要看设计),并将这个消息通知给这个房间所有的客户端列表“欢迎***进入房间”(消息的发送者为系统,房间ID这个房间的ID,接收人无,表示是这个房间的公开消息,消息内容即:欢迎***进入房间。)
3、把聊天内容当成消息的话,那消息应该有这样的属性,发送人,房间ID(如果没有房间ID就当成系统公告消息,在所有房间显示),接收人(如果没有指定接收人,则是公开消息,如果有接收人,就是私聊消息,只能在同一个房间私聊,那在发消息的时候要判断下接收客户端的是否在这个房间列表当中)。
4、再来说消息路由设置,当客户端发送消息时,根据房间ID,找到这个这个房间内所有的客户端列表,如果没有指定接收人,那消息就推送给这个房间关联的所有客户端,如果指定有接收人,接收人不在这个房间,直接提示“***已经离开”,如果还在就把消息推送给这个指定的客户端。
5、房间的管理:踢人,把这个客户端从房间同客户端关联关系解除,并在房间显示消息“***被踢出房间”等等
Q4: 我的世界java版如何用特定存档开房间(朋友和我不在一起)?
先进入你的存档,然后按“Esc”里面有个“对局域网开放”,点击后在里面进行一些必要的设定后再点击“创造一个局域网世界”,然后让连你的人进入多人游戏搜索,只要连一个局域网就能够进入。
关于java代码创建房间和java工程怎么创建的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





