JAVA 加油站停靠问题 递归方法package com;
import java.util.Arrays;
public class Exam
{
/**
* 递归算法写出 , 到达B地必须要停靠的加油站br /
*
* @param d
*汽车加满油最多行驶d米
* @param current
*从哪个加油站开始出发
* @param D
*int[] D[i] 表示加油站Gi到Gi+1之间的距离
* @param G
*最终返回一个数组,将必须停靠的加油站Gi存放在G[]
*/
private static int[] get(int d, int current, int[] D, int[] G)
{
// 最多可以过多少个加油站
int s = 0;
for(int i = current; iD.length - 1; i++)
{
// 如果剩余的油量不够走到下一个加油站
// 就必须在这个加油站加油
if(d - sD[i + 1])
{
// 第i个加油站必须加油
current = i;
// 用1代表要停靠的加油站,0代表不用停靠加油
G[i] = 1;
// 剩下的油量还可以走多少米
int x = d - s;
// 加油后可以走多少米
d = d + x;
get(d, current, D, G);
break;
}
s += D[i];
}
return G;
}
public static void main(String[] args)
{
int n = 10;
int[] G = new int[n];
int d = 800;
int[] D = new int[n - 1];
for(int i = 0; iD.length; i++)
{
// 随机出每2个加油站的距离 , 要小于d
D[i] = (int) (Math.random() * (d - 100)) + 100;
}
System.out.format("随机出每个加油站之间的距离:%s%n", Arrays.toString(D));
G = get(d, 0, D, G);
System.out.format("必须停靠的加油站:%s", Arrays.toString(G));
}
}
java练习题求完整代码按照题目要求编写的用javaBean规范设计的学生类Student的Java程序如下
需要创建user.java.test包,把Student.java文件和Test.java文件放入包中,编译Student.java文件并且编译运行Test.java文件得到运行结果
Student.java文件代码如下
package user.java.test;
import java.io.Serializable;
public class Student implements Serializable{
private static final long serialVersionUID = 1L;
private String no;
private String name;
private double score;
public Student(){}
public Student(String no,String name,double score){
this.no=no;
this.name=name;
this.score=score;
}
public String getNo(){ return no;}
public void setNo(String no){ this.no=no;}
public String getName(){ return name;}
public void setName(String name){ this.name=name;}
public double getScore(){ return score;}
public void setScore(double score){ this.score=score;}
public String toString(){
return "学号:"+no+",姓名:"+name+",成绩:"+score;
}
public static double getAvg(Student[] sArray){
double sum=0,avg;
for(int i=0;isArray.length;i++){
sum=sum+sArray[i].getScore();
}
avg=sum/sArray.length;
return avg;
}
}
Test.java文件代码如下
package user.java.test;
public class Test{
public static void main(String[] args){
Student[] sArray=new Student[5];
sArray[0]=new Student("001","张三",89.5);
sArray[1]=new Student("002","李四",82.5);
sArray[2]=new Student("003","王五",93);
sArray[3]=new Student("004","赵六",73.5);
sArray[4]=new Student("005","孙七",66);
System.out.println("这些学生的平均分:"+Student.getAvg(sArray));
for(int i=0;isArray.length;i++){
System.out.println(sArray[i].toString());
}
}
}
用swing编写一个java抽奖的程序,至少有5个按钮,显得高大上一点 。#8205;
import java.awt.Color;//界面不是很高大上档次,但是能满足你的基本需求 , 希望对你有用
import java.awt.Font;
推荐阅读
- jquery公共库,jquery工具函数
- oracle数据移植语法,oracle移植mysql
- 经营类游戏2021,经营类游戏2023
- 格斗网页游戏视频,网页单机格斗游戏
- 安卓背单词软件毕业设计,背单词android项目需求分析
- ios16.02用起来怎么样,ios161值得更新吗
- python函数图像包 python图像库函数
- jquery亮灯特效,jquery特效的设计与制作
- flutter移动端视频播放卡顿的简单介绍