景点表java代码,旅游景点代码

JAVA求10个景点间各个景点的最短路径 图随便话 距离随便 求代码

最有效,切不复杂的方法使用Breadth First Search (BFS). 基本代码如下(伪代码)。因为BFS不用递归,所以可能会有点难理解。

创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序制作,十载建站对工商代办等多个领域,拥有多年的网站运维经验。

public Stack findPath(Vertex 起始景点, Vertex 目标景点){

Queue Vertex q = new QueueVertex();

s.enqueue(起始景点);

Vertex 当前位置;

while(!s.isEmpty()){

当前位置 = s.dequeue();

if (当前位置 == 目标景点) break;

for (每一个相邻于 当前位置 的景点 Vertex v){

if (!v.visited){

v.parent = 当前位置;

// 不是规定,不过可以节省一点时间

if (v == 目标景点){

current = v;

break;

}

s.enqueue(Vertex v);

v.visited = true;

}

}

}

Stack Vertex solution = new Stack Vertex();

Vertex parent = current;

while (parent != 起始景点){

solution.push(parent);

parent = current.parent;

}

for (graph中的每一个vertex) vertex.visited = false;

return solution(); // 其实这里建议用一个 Path 的inner class 来装所获得的路线

}

然后再 main 求每两个景点之间的距离即可

public static void main(String[] argv){

PathFinder pf = new PathFinder();

Stack[][] 路径 = new Stack[10][10];

for(int i=0; ipf.vertices.length; i++){

for(int j=i+1; jpf.vertices.length; j++){

Stack s = pf.findPath(pf.vertices[i], pf.vertices[j]);

路径[i][j] = s; 路径[j][i] = s; // 假设你的graph是一个undirected graph

}

}

// 这么一来就大功告成了!对于每两个景点n 与 m之间的最短路径就是在 stack[n][m] 中

}

还有一种方法就是用Depth First Search递归式的寻找路径,不过这样比较慢,而且我的代码可能会造成stack overflow

public Stack dfs(Vertex 当前景点,Vertex 目标景点){

if(当前景点 == 目标景点) return;

Stack solution = new Stack();

Stack temp;

for (相邻于 点钱景点 的每一个 Vertex v){

if (!v.visited){

v.visited = true;

temp = dfs(v, 目标景点);

// 抱歉,不记得是stack.size()还是stack.length()

if (solution.size() == 0) solution = temp;

else if(temp.size() solution.size()) solution = temp;

v.visited = false; 复原

}

}

return solution;

}

然后再在上述的Main中叫dfs...

参考:

java编程实现景区售票规则:成人票每人10元,儿童票折半(如果儿童身高不超过1.2

这个规则就是设计一个方法,该方法最后值为一个票价,参数应该是身高,所以有如下代码

public class PriceTest {

public static void main(String[] args) {

int childPrice = getPrice(1.2);

int adultPrice = getPrice(1.5);

System.out.println("1.2米身高的票价为:"+childPrice);

System.out.println("1.5米身高的成人票价为:"+adultPrice);

}

private static int getPrice(double height) {

return height  1.2?10:5;

}

}

最后结果如下:

用Java语言编写数据结构中顺序表的插入删除查找代码并实现

public class Test {

public static void main(String[] args) {

int length = 5;

int ai = 1;

String data = "data";

String[] array = insertArrar(data, ai, length);

data = delArray(array, ai, length);

System.out.println(data);

}

public static String[] insertArrar(String data,int ai,int length){

String[] array = new String[length];

array[ai] = data;

return array;

}

public static String delArray(String[] array,int ai,int length){

String data = "";

data=array[ai];

array[ai]=null;

for(int i = 0; iarray.length;i++){

System.out.println(array[i]);

}

return data;

}

}

java 代码创建sqlserver临时表并插入数据

这明显是sql的问题,要将两部分数据查询出来插入一张零食表,这两张表相同还好,直接在后台拼接创建临时表的sql语句就得了;

if...

SELECT * INTO #table FROM

................第一张表...........

}

insert into #table

from

(

................第二张表...........

);

//就这样;

高分求java代码 (认真回答还有悬赏)

按你现在说的这个内容,我觉得三个类就能表现出来,我写了一下,你看看能不能满足你的要求:

/**

* 运动员信息

* @author songfeng163

*/

public class PlayerState {

private String lx; //运动类型

private String xing; // 姓

private String ming; // 名

public String getLx() {

return lx;

}

public void setLx(String lx) {

this.lx = lx;

}

public String getXing() {

return xing;

}

public void setXing(String xing) {

this.xing = xing;

}

public String getMing() {

return ming;

}

public void setMing(String ming) {

this.ming = ming;

}

//返回姓名信息

@Override

public String toString() {

return xing+ming;

}

}

/**

* 运动员得分信息

* @author songfeng163

*/

public class SoccerPlayerStats {

private PlayerState player; //运动员信息

private double spointsScored; //点球得分

private double assists; //助攻得分

private double penaltyKickRate; //罚球得分概率

public PlayerState getPlayer() {

return player;

}

public void setPlayer(PlayerState player) {

this.player = player;

}

public double getSpointsScored() {

return spointsScored;

}

public void setSpointsScored(double spointsScored) {

this.spointsScored = spointsScored;

}

public double getAssists() {

return assists;

}

public void setAssists(double assists) {

this.assists = assists;

}

public double getPenaltyKickRate() {

return penaltyKickRate;

}

public void setPenaltyKickRate(double penaltyKickRate) {

this.penaltyKickRate = penaltyKickRate;

}

//返回分数信息

@Override

public String toString() {

return "** PLAYER ADDED **"+ player.toString()+"; Points:"+ spointsScored + "; Assists: "+ assists +"; Penalty Kick %:" + penaltyKickRate;

}

}

这里是主类:

import java.util.Scanner;

import java.util.List;

import java.util.ArrayList;

/**

* 主类

* @author songfeng163

*/

public class MyMain {

//添加方法

public ListSoccerPlayerStats add(ListSoccerPlayerStats list){

Scanner in=new Scanner(System.in);

PlayerState player=new PlayerState();

SoccerPlayerStats score=new SoccerPlayerStats();

System.out.println("请输入运动类型:足球,高尔夫,田径:");

player.setLx(in.next());

System.out.println("请输入姓:");

player.setXing(in.next());

System.out.println("请输入名:");

player.setMing(in.next());

System.out.println("请输入该运动员的点球得分:");

score.setSpointsScored(in.nextDouble());

System.out.println("请输入该运动员的助攻得分:");

score.setAssists(in.nextDouble());

System.out.println("请输入该运动员的罚球得分概率:");

score.setPenaltyKickRate(in.nextDouble());

score.setPlayer(player);

System.out.println(score); //显示新添加的人员

list.add(score);

return list;

}

//删除方法

public ListSoccerPlayerStats del(ListSoccerPlayerStats list){

Scanner in=new Scanner(System.in);

PlayerState player=new PlayerState();

System.out.println("请输入要删除运动员的姓:");

player.setXing(in.next());

System.out.println("请输入要删除运动员的名:");

player.setMing(in.next());

for(SoccerPlayerStats score:list){

if(score.getPlayer().getXing().equals(player.getXing())

score.getPlayer().getMing().equals(player.getMing())){

list.remove(score);

break;

}

}

return list;

}

//显示方法

public void show(ListSoccerPlayerStats list){

System.out.println("当前共有:"+list.size()+"条记录,内容如下:");

for(SoccerPlayerStats score:list){

System.out.println(score);

}

}

//保存方法

public ListSoccerPlayerStats save(ListSoccerPlayerStats list){

System.out.println("请输入要保存的文件名:");

Scanner in=new Scanner(System.in);

String fileName=in.next();

try{

BufferedWriter bw = new BufferedWriter(new FileWriter("C:/"+fileName));

for(SoccerPlayerStats score:list){

bw.write(score.toString());

bw.newLine();

}

bw.flush();

bw.close();

}catch(Exception ex){

ex.printStackTrace();

}

System.out.println("** 1 RECORD SAVED TO "+fileName+" **");

return list;

}

public static void main(String[] args) {

MyMain myMain=new MyMain();

Scanner in=new Scanner(System.in);

//如果像你说的是数组的话,数据没有办法动态变化,所以我用了list

ListSoccerPlayerStats list=new ArrayListSoccerPlayerStats();

String cz="QUIT"; //默认的操作为退出

System.out.println("下面如何操作(ADD, REMOVE, SHOW, SAVE, QUIT)?");

String czin=in.next(); //输入数据

cz=czin.toUpperCase(); //转换成大写

while(!cz.equals("QUIT")){ //不是退出

if(cz.equals("ADD")){ //添加数据

list = myMain.add(list);

}else if(cz.equals("REMOVE")){ //删除数据

list = myMain.del(list);

}else if(cz.equals("SHOW")){ //显示数据

myMain.show(list);

}else if(cz.equals("SAVE")){ //保存数据

myMain.save(list);

}

System.out.println("下面如何操作(ADD, REMOVE, SHOW, SAVE, QUIT)?");

czin=in.next(); //输入数据

cz=czin.toUpperCase(); //转换成大写

}

System.out.println("** GOODBYE! **");

}

}

运行结果如下:

下面如何操作(ADD, REMOVE, SHOW, SAVE, QUIT)?

add

请输入运动类型:足球,高尔夫,田径:

足球

请输入姓:

请输入名:

请输入该运动员的点球得分:

4

请输入该运动员的助攻得分:

2

请输入该运动员的罚球得分概率:

0.25

** PLAYER ADDED **王明; Points:4.0; Assists: 2.0; Penalty Kick %:0.25

下面如何操作(ADD, REMOVE, SHOW, SAVE, QUIT)?

add

请输入运动类型:足球,高尔夫,田径:

高尔夫

请输入姓:

请输入名:

请输入该运动员的点球得分:

2

请输入该运动员的助攻得分:

2

请输入该运动员的罚球得分概率:

0.3

** PLAYER ADDED **李三; Points:2.0; Assists: 2.0; Penalty Kick %:0.3

下面如何操作(ADD, REMOVE, SHOW, SAVE, QUIT)?

show

当前共有:2条记录,内容如下:

** PLAYER ADDED **王明; Points:4.0; Assists: 2.0; Penalty Kick %:0.25

** PLAYER ADDED **李三; Points:2.0; Assists: 2.0; Penalty Kick %:0.3

下面如何操作(ADD, REMOVE, SHOW, SAVE, QUIT)?

save

请输入要保存的文件名:

Playerdata.txt

下面如何操作(ADD, REMOVE, SHOW, SAVE, QUIT)?

remove

请输入要删除运动员的姓:

请输入要删除运动员的名:

下面如何操作(ADD, REMOVE, SHOW, SAVE, QUIT)?

show

当前共有:1条记录,内容如下:

** PLAYER ADDED **王明; Points:4.0; Assists: 2.0; Penalty Kick %:0.25

下面如何操作(ADD, REMOVE, SHOW, SAVE, QUIT)?

quit

** GOODBYE! **

请问用java代码如何创建数据表

class.forname("oracle.jdbc.driver.OracleDriver");//加载数据库驱动

String url="jdbc:oracle:thin:@localhost:1521:db_name";

String sql="CREATE TABLE table(filed1 varchar2(2),filed2 varchar2(2))";

Connection conn=DriverManager.getConnection(url,"scott","tiger");//建立数据库连接

if(!conn.isClose()){

Statement stmt = conn.createStatement();

stmt.executeUPDATE(sql); //建立一个表

}


新闻标题:景点表java代码,旅游景点代码
URL链接:http://myzitong.com/article/dssepjh.html