我刚写的,可能还有点漏洞
import javautil;import javautilScanner;
public class Bd05 {
public static final Scanner s = new Scanner(Systemin);
public static void main(String[] args) {
ArrayList<Student> al = new ArrayList<Student>();
home(al);
}
public static void home(List<Student> list){
while(true){
Systemoutprintln("1录入学生信息 2查询学生信息 3删除学生信息 4退出\n输入数字选择:");
int num = snextInt();
switch(num){
case 1:
inputInfo(list);
break;
case 2:
findInfo(list);
break;
case 3:
remove(list);
break;
case 4:
Systemexit(0);
}
}
}
public static void findInfo(List<Student> list){ //查询信息
Systemoutprintln("1升序 2降序 3返回\n输入数字选择查询方式(两科的总分):");
int num = 0;
while(true){
num = snextInt();
if(num==1){ //升序
Collectionssort(list,new Comparator<Student>(){
public int compare(Student s1, Student s2) {
int n = new Integer(s1getChinese()+s1getMath())compareTo(new Integer(s2getChinese()+s2getMath()));
if(n==0)
return s1getName()compareTo(s2getName());
return n;
}
});
printAll(list);
}
else if(num==2){ //降序
Collectionssort(list,new Comparator<Student>(){
public int compare(Student s1, Student s2) {
int n = new Integer(s2getChinese()+s2getMath())compareTo(new Integer(s1getChinese()+s1getMath()));
if(n==0)
return s2getName()compareTo(s1getName());
return n;
}
});
printAll(list);
}
else if(num==3)
break;
else
Systemoutprintln("输入错误,重新输入:");
}
home(list);
}
public static void remove(List<Student> list){ //删除信息
Systemoutprint("输入需要删除的姓名:");
String name = snext();
Iterator<Student> it = listlistIterator();
while(ithasNext()){
Student str = itnext();
if(nameequals(strgetName())){
itremove();
Systemoutprintln(name+" 删除成功!");
}
}
Systemoutprintln("1继续 2返回\n输入数字选择:");
while(true){
int num = snextInt();
if(num==1){
remove(list);
}
else if(num==2)
break;
else
Systemoutprintln("输入错误,重新输入:");
}
home(list);
}
public static void printAll(List<Student> list){
int num = 1;
Systemoutprintln("--------------(查询)----------------");
for(Student stu:list){
Systemoutprintln(num++ +"姓名:"+stugetName()+"|语文成绩:"+stugetChinese()+"|数学成绩:"+stugetMath()+"---|总分:"+(stugetChinese()+stugetMath()));
}
Systemoutprintln("-----------------------------------");
home(list);
}
public static void inputInfo(List<Student> list){ //输入信息
Systemoutprintln("输入学生姓名:");
String name = snext();
Systemoutprintln("输入数学成绩:");
int Math = snextInt();
Systemoutprintln("输入语文成绩:");
int chinese = snextInt();
listadd(new Student(name,Math,chinese));
Systemoutprintln("1返回 2继续录入\n输入数字选择:");
while(true){
int num = snextInt();
if(num==1)
break;
else if(num==2)
inputInfo(list);
else
Systemoutprintln("输入错误,重新输入:");
}
home(list);
}
}
class Student{
private String name;
private int chinese;
private int math;
Student(String name,int math,int chinese){
thisname = name;
thischinese = chinese;
thismath = math;
}
public String getName(){
return name;
}
public int getChinese(){
return chinese;
}
public int getMath(){
return math;
}
}
File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如filegetAbsolutePath()其中file是File的实例对象。下面是一个具体例子: public class PathTest{ publ
Map<String,Integer> ms=new HashMap<String,Integer>();
msput("A-B", 20);
msput("A-C", 30);
msput("A-D", 40);
msput("A-E", 50);
msput("B-C", 60);
msput("B-D", 70);
msput("B-E", 80);
msput("C-D", 90);
msput("C-E", 70);
Scanner input=new Scanner(Systemin);
Systemoutprint("输入出发站:");
String strA=inputnext();
Systemoutprint("输入目的站:");
String strB=inputnext();
String key=(strA+"-"+strB)toUpperCase();
Systemoutprintln(key+"火车票价钱是:"+msget(key));
这样?
package sum;
import javautilArrayList;
import javautilScanner;
public class TestDemo {
public static void main(String[] args){
ArrayList<Goods> arr = new ArrayList<Goods>();
Goods g1 = new Goods(1, "羽毛球", 237);
Goods g2 = new Goods(2, "羽毛球拍", 113);
Goods g3 = new Goods(3, "护腕", 100);
arradd(g1);
arradd(g2);
arradd(g3);
Systemoutprintln("商品查询系统");
Systemoutprintln("1羽毛球 2羽毛球拍 3护腕");
Systemoutprintln("");
Scanner sc = new Scanner(Systemin);
outer: while(true){
Systemoutprint("请选择商品号:");
String num = scnext();
for(int i = 0; i < arrsize(); i++){
if((arrget(i)getId() + "")equals(num)){
Systemoutprintln(arrget(i)getName() + " " + arrget(i)getPrice() + "元" );
}else if(numequals("n")){
Systemoutprintln("谢谢使用");
break outer;
}
}
}
}
}
class Goods{
public Goods(int id, String name, int price){
thisid = id;
thisname = name;
thisprice = price;
}
private int id;
private String name;
private int price;
public int getId() {
return id;
}
public void setId(int id) {
thisid = id;
}
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
thisprice = price;
}
}
很辛苦写的希望能采纳
“\
T”选项卡,当输出数据显示,几乎以表格形式显示,目的是为了使数据看起来整齐点。
“\
n”换行,其他行显示下一个(),目的是换行字符或字符串,使用Systemoutprintln();效果是一样的。
mysql的话有可能是字符集的问题。查看下数据库链接配置?
一般使用jdbc:mysql://localhost:3306/testuseUnicode=true&characterEncoding=UTF-8
以上就是关于简单的Java程序,实现学生的数学,语文成绩的录入排序和查询。全部的内容,包括:简单的Java程序,实现学生的数学,语文成绩的录入排序和查询。、java中如何通过file程序去读取查询文件中的文件、编写一个查询火车票价的JAVA程序,求助啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)