首页 > 编程知识 正文

java完整程序例子,JAVA程序例子

时间:2024-03-07 18:23:14 阅读:331618 作者:OQSH

本文目录一览:

编写一个完整的JAVA的程序

public class Test {

public static void main(String[] args) {

Student student1 = new Student();

Student student2 = new Student("王二");

student1.show();

student2.show();

student1.setName("李四");

student2.setName("赵六");

student1.show();

student2.show();

}

}

interface Person {

void show();

}

class Student implements Person {

private String name;

public Student() {

name = "王二";

}

public Student(String name) {

super();

this.name = name;

}

public void show() {

System.out.printf("name=%sn", name);

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

1. 以下是一个Java 的完整程序,它定义了一个类Car,并在程序中创建了一个该类的对象demoCar

public class Car {

( privae )int car_number;

void set_number(int car_num){

car_number=( this.car_num ) ;

}

void show_number(){

System.out.println("My car No. is: "+car_number);

}

}

class CarDemo{

public static void main(String[] args){

Car demoCar=new Car();

demoCar.set_number( 5566 );

demoCar.( show_number );

}

}

需要一个java程序

啊,写了好几个小时,方法比较笨,你参考一下:

public class Test {

//定义几名学生

private static final String[] STUDENTS = {"张1", "张2", "张3", "张4", "张5"};

//定义课程名,课程号分别对应为数组下标 1,2,3...n+1,即英语的课程号为1,高数为2,以此类推,可以添加更多课程

private static final String[] CLASS_NAME = {"英语", "高数", "大物"};

public static void main(String[] args) {

//定义一个二维数组,模拟一份成绩单,其中第一列为学生的名字,后面几列分别代表各科成绩,

//数组大小为:学生人数 × (课程数 + 1)

String[][] grades = new String[STUDENTS.length][CLASS_NAME.length + 1];

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

grades[i][0] = STUDENTS[i];

//这里使用随机数来得到学生的成绩,你也可以直接定义一个写死的数组或者输入进去

for (int j = 1; j CLASS_NAME.length + 1; j++) {

grades[i][j] = String.valueOf((int) (Math.random() * 100));

}

}

     //这里先把成绩单打印出来,并整理了格式

System.out.println("学生成绩单:");

System.out.println("[姓名|英语 高数 大物]");

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

System.out.print("[");

for (int j = 0; j CLASS_NAME.length + 1; j++) {

if (j == 0) {

System.out.print(String.format("%-3s", grades[i][j]) + "|");

} else if (j CLASS_NAME.length) {

System.out.print(String.format("%-3s", grades[i][j]) + " ");

} else {

System.out.print(String.format("%-3s", grades[i][j]));

}

}

System.out.print("]");

System.out.println("");

}

     //选择操作

System.out.println("----------------------");

System.out.println("请选择操作(1 - 任意学生成绩的查询;2 - 某一门课程的成绩从低到高排序):");

Scanner in = new Scanner(System.in);

int choose = in.nextInt();

if (choose == 1) {

System.out.println("请输入一个学生的名字:");

in = new Scanner(System.in);

String studentName = in.nextLine();

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

//将输入的学生姓名在成绩单第一列中比较,有该学生则输出其成绩

if (grades[i][0].equals(studentName)) {

System.out.println("学生[" + studentName + "]的成绩为:");

for (int j = 0; j CLASS_NAME.length; j++) {

System.out.println(CLASS_NAME[j] + ":" + grades[i][j + 1]);

}

break;

}

if (i == STUDENTS.length - 1) {

System.out.println("无此学生成绩,请核对其姓名");

}

}

     } else if (choose == 2) {

System.out.println("请输入一门课程的名字:");

in = new Scanner(System.in);

String className = in.nextLine();

//因为涉及到二维数组的重新排序,我这里定义了一个内部类SortGradeHelper,

//你不喜欢内部类也可以把它单独拿出去弄成一个普通的类,类的定义和排序方式详见这个类

SortGradeHelper sortGrade = new SortGradeHelper();

if ("英语".equals(className)) {

grades = sortGrade.doSort(grades, 1);

} else if ("高数".equals(className)) {

grades = sortGrade.doSort(grades, 2);

} else if ("大物".equals(className)) {

grades = sortGrade.doSort(grades, 3);

} else {

System.out.println("无此课程");

return;

}

         //把新的成绩单打印出来

System.out.println("新的学生成绩单:");

System.out.println("[姓名|英语 高数 大物]");

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

System.out.print("[");

for (int j = 0; j CLASS_NAME.length + 1; j++) {

if (j == 0) {

System.out.print(String.format("%-3s", grades[i][j]) + "|");

} else if (j CLASS_NAME.length) {

System.out.print(String.format("%-3s", grades[i][j]) + " ");

} else {

System.out.print(String.format("%-3s", grades[i][j]));

}

}

System.out.print("]");

System.out.println("");

}

} else {

System.out.println("无效的选择!(1 - 任意学生成绩的查询;2 - 某一门课程的成绩从低到高排序)");

}

}

 //成绩排序小助手

static class SortGradeHelper {

private int sort; //顺序号

private int grade;//成绩

private SortGradeHelper[] sortGrades = new SortGradeHelper[STUDENTS.length];

SortGradeHelper() {

}

SortGradeHelper(int sort, int grade) {

this.sort = sort;

this.grade = grade;

}

     /*我这个二维数组排序的思想是:

1、首先将某一列排出来,比如英语成绩,则把英语这一列先拿出来排序

2、以刚刚排出来的这一列为标准,按照新的行序列,把原成绩单赋值给新成绩单返回

可能有点绕,我举个例子:

假设某成绩单为:

[姓名|英语 高数 大物]

[张1 |7   1   40 ]

[张2 |93  32  78 ]

[张3 |24  25  74 ]

[张4 |8   79  28 ]

[张5 |10  67  45 ]

按照英语进行排列,则先取出英语这一列,生成本类的this.sortGrades数组,该数组具体为:

{ 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

之后采用冒泡排序,按照英语成绩从小到大排序,则排序后的this.sortGrades数组为:

{ 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 STUDENTS.length; i++) {

this.sortGrades[i] = new SortGradeHelper(i, Integer.valueOf(grades[i][classNo]));

}

//冒泡排序

SortGradeHelper temp;

for (int i = 0; i STUDENTS.length - 1; i++) {

for (int j = 0; j STUDENTS.length - 1 - i; j++) {

if (this.sortGrades[j].grade this.sortGrades[j + 1].grade) {

temp = this.sortGrades[j];

this.sortGrades[j] = this.sortGrades[j + 1];

this.sortGrades[j + 1] = temp;

}

}

}

         //按照新的顺序重新排列成绩单

String[][] newGrades = new String[STUDENTS.length][CLASS_NAME.length + 1];

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

for (int j = 0; j CLASS_NAME.length + 1; j++) {

newGrades[i][j] = grades[this.sortGrades[i].sort][j];

}

}

return newGrades;

}

}

}

我发的代码老是会挤到一起,所以我再把程序截图给你:

8-24行

25-41行

42-63行

64-80行

81-101行

102-114行

115-142行 对排序方法的注释和举例

143-159行

160-171行完

运行结果:

打印成绩:

成绩单排序:

java编写一个java程序

按照题目要求编写的Java程序如下

import java.util.Scanner;

public class AA {

 public static void main(String[] args) {

  int n,i;

  Scanner sc=new Scanner(System.in);

  n=sc.nextInt();

  for(i=2;i=n;i++){

   if(n%i==0){

    if(n/i==1)

     System.out.print(i);

    else

     System.out.print(i+"、");

    n=n/i;

    i--;

   }

  }

 }

}

用JAVA的do-while语句编写程序例子

public class SimpleDoWhile {

public static void main(String[] args) {

int index = 1;

do {

System.out.println(index);

index = index + 1;

} while(index = 10);

System.out.println("DONE.");

}

}

输出结果为:

do...while 循环是 while 循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while()内检查条件是否为真,如果条件为真的话,就会重复do...while这个循环,直至while()为假。

do-while 循环语法格式:

do

{

循环体;

}

while (条件表达); //条件表达,可以引用外传感器返回值。

扩展资料:

do...while 和 while循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。

和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正规的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。

总结:while循环是先判断后循环 ,而do–while循环是先循环后判断。

参考资料:do while-百度百科

求一个完整的java程序

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Scanner;

public class TestString {

public static void main(String[] args) throws IOException {

boolean flag = false;

do {

System.out.println();

System.out.println("Do you want to continue?(Y/N)");

Scanner scan = new Scanner(System.in);

String banlance = scan.next();

if (banlance.equals("Y")) {

flag = true;

} else if(banlance.equals("N")) {

System.out.println("End!");

break;

} else {

System.out.println("Error Input!");

}

System.out.print("Please input the String: ");

BufferedReader br = new BufferedReader(new InputStreamReader(

System.in));

String str = br.readLine();

StringBuffer strBuffer = new StringBuffer(str);

for(int i=0; istrBuffer.length(); i++) {//将元音字母先删掉

char c = strBuffer.charAt(i);

if ((c == 'a') || (c == 'e') || (c == 'i') || (c == 'o') || (c == 'u')) {

strBuffer = strBuffer.deleteCharAt(i);

--i;

}

}

for(int i=0,j=i+1; jstrBuffer.length(); i++,j++) {//处理重复辅音字母

char c1 = strBuffer.charAt(i), c2 = strBuffer.charAt(j);

if(c1 == c2) {

strBuffer = strBuffer.deleteCharAt(i);

--i;

--j;

}

}

System.out.println(strBuffer);

} while (flag = true);

}

}

测试与结果:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。