public class Message {
public static void main(String[] args){
String name;
int age;
Systemoutprintln("请输入姓名,回车结束:"); //提示输入
Scanner sc = new Scanner(Systemin);
name = scnextLine(); //为变量赋值
Systemoutprintln("请输入年龄,回车结束:");
age = scnextInt();
Systemoutprintln("姓名:"+name+"\n年龄:"+age); //打印姓名及年龄
}
}
//不知道这样行么?
啊,写了好几个小时,方法比较笨,你参考一下:
public class Test {
//定义几名学生
private static final String[] STUDENTS = {"张1", "张2", "张3", "张4", "张5"};
//定义课程名,课程号分别对应为数组下标 1,2,3n+1,即英语的课程号为1,高数为2,以此类推,可以添加更多课程
private static final String[] CLASS_NAME = {"英语", "高数", "大物"};
public static void main(String[] args) {
//定义一个二维数组,模拟一份成绩单,其中第一列为学生的名字,后面几列分别代表各科成绩,
//数组大小为:学生人数 × (课程数 + 1)
String[][] grades = new String[STUDENTSlength][CLASS_NAMElength + 1];
for (int i = 0; i < STUDENTSlength; i++) {
grades[i][0] = STUDENTS[i];
//这里使用随机数来得到学生的成绩,你也可以直接定义一个写死的数组或者输入进去
for (int j = 1; j < CLASS_NAMElength + 1; j++) {
grades[i][j] = StringvalueOf((int) (Mathrandom() 100));
}
}
//这里先把成绩单打印出来,并整理了格式
Systemoutprintln("学生成绩单:");
Systemoutprintln("[姓名|英语 高数 大物]");
for (int i = 0; i < STUDENTSlength; i++) {
Systemoutprint("[");
for (int j = 0; j < CLASS_NAMElength + 1; j++) {
if (j == 0) {
Systemoutprint(Stringformat("%-3s", grades[i][j]) + "|");
} else if (j < CLASS_NAMElength) {
Systemoutprint(Stringformat("%-3s", grades[i][j]) + " ");
} else {
Systemoutprint(Stringformat("%-3s", grades[i][j]));
}
}
Systemoutprint("]");
Systemoutprintln("");
}
//选择 *** 作
Systemoutprintln("----------------------");
Systemoutprintln("请选择 *** 作(1 - 任意学生成绩的查询;2 - 某一门课程的成绩从低到高排序):");
Scanner in = new Scanner(Systemin);
int choose = innextInt();
if (choose == 1) {
Systemoutprintln("请输入一个学生的名字:");
in = new Scanner(Systemin);
String studentName = innextLine();
for (int i = 0; i < STUDENTSlength; i++) {
//将输入的学生姓名在成绩单第一列中比较,有该学生则输出其成绩
if (grades[i][0]equals(studentName)) {
Systemoutprintln("学生[" + studentName + "]的成绩为:");
for (int j = 0; j < CLASS_NAMElength; j++) {
Systemoutprintln(CLASS_NAME[j] + ":" + grades[i][j + 1]);
}
break;
}
if (i == STUDENTSlength - 1) {
Systemoutprintln("无此学生成绩,请核对其姓名");
}
}
} else if (choose == 2) {
Systemoutprintln("请输入一门课程的名字:");
in = new Scanner(Systemin);
String className = innextLine();
//因为涉及到二维数组的重新排序,我这里定义了一个内部类SortGradeHelper,
//你不喜欢内部类也可以把它单独拿出去弄成一个普通的类,类的定义和排序方式详见这个类
SortGradeHelper sortGrade = new SortGradeHelper();
if ("英语"equals(className)) {
grades = sortGradedoSort(grades, 1);
} else if ("高数"equals(className)) {
grades = sortGradedoSort(grades, 2);
} else if ("大物"equals(className)) {
grades = sortGradedoSort(grades, 3);
} else {
Systemoutprintln("无此课程");
return;
}
//把新的成绩单打印出来
Systemoutprintln("新的学生成绩单:");
Systemoutprintln("[姓名|英语 高数 大物]");
for (int i = 0; i < STUDENTSlength; i++) {
Systemoutprint("[");
for (int j = 0; j < CLASS_NAMElength + 1; j++) {
if (j == 0) {
Systemoutprint(Stringformat("%-3s", grades[i][j]) + "|");
} else if (j < CLASS_NAMElength) {
Systemoutprint(Stringformat("%-3s", grades[i][j]) + " ");
} else {
Systemoutprint(Stringformat("%-3s", grades[i][j]));
}
}
Systemoutprint("]");
Systemoutprintln("");
}
} else {
Systemoutprintln("无效的选择!(1 - 任意学生成绩的查询;2 - 某一门课程的成绩从低到高排序)");
}
}
//成绩排序小助手
static class SortGradeHelper {
private int sort; //顺序号
private int grade;//成绩
private SortGradeHelper[] sortGrades = new SortGradeHelper[STUDENTSlength];
SortGradeHelper() {
}
SortGradeHelper(int sort, int grade) {
thissort = sort;
thisgrade = grade;
}
/我这个二维数组排序的思想是:
1、首先将某一列排出来,比如英语成绩,则把英语这一列先拿出来排序
2、以刚刚排出来的这一列为标准,按照新的行序列,把原成绩单赋值给新成绩单返回
可能有点绕,我举个例子:
假设某成绩单为:
[姓名|英语 高数 大物]
[张1 |7 1 40 ]
[张2 |93 32 78 ]
[张3 |24 25 74 ]
[张4 |8 79 28 ]
[张5 |10 67 45 ]
按照英语进行排列,则先取出英语这一列,生成本类的thissortGrades数组,该数组具体为:
{ new SortGradeHelper(0,7),
new SortGradeHelper(1,93),
new SortGradeHelper(2,24),
new SortGradeHelper(3,8),
new SortGradeHelper(4,10)
}
则可以看出本列的原顺序为:0,1,2,3,4
之后采用冒泡排序,按照英语成绩从小到大排序,则排序后的thissortGrades数组为:
{ new SortGradeHelper(0,7),
new SortGradeHelper(3,8),
new SortGradeHelper(4,10),
new SortGradeHelper(2,24),
new SortGradeHelper(1,93)
}
这便得到了新的顺序:0,3,4,2,1
则成绩单所有行都将按照这个新的顺序排列,按照此顺序得到newGrades[][]数组返回
/
String[][] doSort(String[][] grades, int classNo) {
//按照课程号取出该课程这一列的成绩
for (int i = 0; i < STUDENTSlength; i++) {
thissortGrades[i] = new SortGradeHelper(i, IntegervalueOf(grades[i][classNo]));
}
//冒泡排序
SortGradeHelper temp;
for (int i = 0; i < STUDENTSlength - 1; i++) {
for (int j = 0; j < STUDENTSlength - 1 - i; j++) {
if (thissortGrades[j]grade > thissortGrades[j + 1]grade) {
temp = thissortGrades[j];
thissortGrades[j] = thissortGrades[j + 1];
thissortGrades[j + 1] = temp;
}
}
}
//按照新的顺序重新排列成绩单
String[][] newGrades = new String[STUDENTSlength][CLASS_NAMElength + 1];
for (int i = 0; i < thissortGradeslength; i++) {
for (int j = 0; j < CLASS_NAMElength + 1; j++) {
newGrades[i][j] = grades[thissortGrades[i]sort][j];
}
}
return newGrades;
}
}
}
我发的代码老是会挤到一起,所以我再把程序截图给你:
8-24行
25-41行
42-63行
64-80行
81-101行
102-114行
115-142行 对排序方法的注释和举例
143-159行
160-171行完
运行结果:
打印成绩:
成绩单排序:
我就弄的用户登入的代码吧这个挺简单的
这是题目:
用户登陆验证:
1创建数据库Test,并新建用户表users
字段包含:username varchar(20) not null
userpwd varchar(20) not null
在JBUILDER中编写Long类,实现登陆界面,并在用户输入用户名和密码后,
完成按纽的单击事件,对用户输入的数据进行验证,
(需要严整数据是否为空,密码长度必须是15位),
并实现与数据库的连接,将用户输入的用户名密码与表中的记录比较,
若用户名正确且密码正确,d出提示框告知登陆成功,否则登陆失败。
这是代码:
//连接数据库
boolean isLogin(String name,String pwd){
boolean flag=false;
Connection conn=null;
PreparedStatement pst=null;
ResultSet rs=null;
//加载驱动
try {
ClassforName("sunjdbcodbcJdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
exprintStackTrace();
}
//连接数据库
try {
conn=DriverManagergetConnection("jdbc:odbc:login");
String sql="select from [user] where username= and userpwd=";
pst=connprepareStatement(sql);
pstsetString(1,name);
pstsetString(2,pwd);
rs=pstexecuteQuery();
if(rsnext())
flag=true;
} catch (Exception ex) {
exprintStackTrace();
}finally{
try {
connclose();
} catch (Exception ex) {
exprintStackTrace();
}
}
return flag;
}
//验证方法
public void jButton1_actionPerformed(ActionEvent e) {
String name=jTextField1getText();
String pwd=jTextField2getText();
//错误处理
if(nameequals("")||pwdequals(""))
JOptionPaneshowMessageDialog(this,"请输入完整的信息");
else {
if(isLogin(name,pwd))
JOptionPaneshowMessageDialog(this,"登陆成功");
else
JOptionPaneshowMessageDialog(this,"用户名或密码错误");
}
}
}
这是在事件里写的,
下下来,是不是exe文件 ,还是一个文件夹呢,你得配置一下你的系统变量在我的电脑右击属性,打开高级,在里面有一个变量 ,打开,在上面添加一个 名为PATH 值为,你安装的那个目录,下的bin 如: C:\java\bin 这样就可以用了 打开记事本,在里面输入:public class HellowWord{public static void main(String[]args){Systemoutprintln("HellowWord!");} 保存为 HellowWordjava文件 文件名一定要和类名一样 进入Dos 中,并进入到这个文件 的目录在里面输入: javac HellowWordjava没有问题的情况下再次输入: java HellowWord就OK了}
JAVA程序计算素数
设计JAVA application程序,计算出20000000~300000000之间所有的素数,并将找到的素数写入primefiledat文件,
以下是一个使用Java语言编写的程序,可以计算出20000000~300000000之间所有的素数,并将找到的素数写入primefiledat文件:
javaCopy code
import javaioFileOutputStream; import javaioIOException; public class PrimeNumberCalculator { public static void main(String[] args) { int start = 20000000; int end = 300000000; String filename = "primefiledat"; try (FileOutputStream fileOutputStream = new FileOutputStream(filename)) { for (int i = start; i <= end; i++) { if (isPrime(i)) { fileOutputStreamwrite(StringvalueOf(i)getBytes()); fileOutputStreamwrite(SystemlineSeparator()getBytes()); } } } catch (IOException e) { eprintStackTrace(); } } private static boolean isPrime(int n) { if (n <= 1) { return false; } for (int i = 2; i <= Mathsqrt(n); i++) { if (n % i == 0) { return false; } } return true; } }
该程序首先定义了起始数字和终止数字,以及文件名。接下来,在main方法中,程序使用for循环迭代从start到end之间的每个数字。对于每个数字,程序调用isPrime方法来判断它是否为素数。如果是素数,程序将该数字写入文件中,每个数字占一行。
isPrime方法使用了一个简单的算法来判断一个数字是否为素数:如果数字小于或等于1,那么它不是素数。否则,程序从2开始,一直到该数字的平方根之间的每个数字进行除法运算。如果该数字能被任何一个这些数字整除,那么它不是素数。
请注意,在此程序中,我们使用了Java 7引入的"try-with-resources"语句来自动关闭文件输出流。这样可以确保即使在发生异常的情况下,文件输出流也会被正确关闭,以避免文件被损坏。
以上就是关于求一个简单的java代码全部的内容,包括:求一个简单的java代码、需要一个java程序、求一个简单又经典的JAVA数据库连接的例子,要有源代码哦!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)