本文目錄一覽:
- 1、編寫一個完整的JAVA的程序
- 2、1. 以下是一個Java 的完整程序,它定義了一個類Car,並在程序中創建了一個該類的對象demoCar
- 3、需要一個java程序
- 4、java編寫一個java程序
- 5、用JAVA的do-while語句編寫程序例子
- 6、求一個完整的java程序
編寫一個完整的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=%s\n”, 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);
}
}
測試與結果:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/246915.html