9319074 2010-8-26 13:09
Java程式問題~不太會寫或修改(新手上路),請大大協助幫忙!
願有心幫助的java高手們,能幫新手的我寫出(修改)完整的程式,
並且可以run出結果,供我日後能參照學習!衷心感謝!
[color=Navy]1.輸入N(1<N<100)名學生的英文成績,求出英文成績中的最高分數。[/color]
範例輸入 :
80 70 60 90 50
範例輸出 :
90
[color=Red]我有爬文找到這個類似的,可是不知怎麼修改[/color]
import java.util.*;
public class MaxScore {
public static void main(String[] args) {
System.out.print("請輸入學生人數: ");
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int[] grades = new int[N];
int max = -1, min = 101, sum = 0, passed = 0;
for (int i = 0; i < N; i++) {
System.out.print("請輸入第" + (i+1) + "位學生成績: ");
grades[i] = scan.nextInt();
if (grades[i] > max) max = grades[i];
if (grades[i] < min) min = grades[i];
if (grades[i] >= 60) passed++;
sum += grades[i];
}
System.out.println("本班最高分數: " + max + "分");
System.out.println("本班最低分數: " + min + "分");
System.out.println("本班及格人數: " + passed + "人");
System.out.println("本班期末考總平均: " + sum * 100 / N / 100.0D);
}
}
[color=Navy]2.輸入一個整數 n (>=3)使用迴圈顯示以下圖形。[/color]
範例輸入 :
>java SquareStars 5
範例輸出 :
*****
* *
* *
* *
*****
[color=Red]我有爬文找到這個類似的,可是不知怎麼修改[/color]
public class SquareStars {
public static void main(String[] args) {
int A = Integer.parseInt(args[0]);
for (int i=1; i<=A; i++)
{
if(i==1 || i==A)
{
for (int j=1 ; j<=A ; j++)
{
System.out.print('*');
}
}else
{
for (int j=1 ; j<=A ; j++)
{
if(j==1 || j==A)
{
System.out.print('*');
}
else
{
System.out.print(' ');
}
}
}
System.out.println();
}
}
}
[color=DarkGreen]或是[/color]
public class Main {
public static void main(String[] args) {
if(args.length==0){
System.out.println("請輸入參數");
}else{
if(Integer.valueOf(args[0])<3){
System.out.println("參數至少為3");
}else{
for(int i=1;i<=Integer.valueOf(args[0]);i++){
if(i==1||i==Integer.valueOf(args[0])){
System.out.println("*****");
}else{
System.out.println("* *");
}
}
}
}
}
}
[color=DarkGreen]或是[/color]
public class homework1 {
public static void main(String[] args) {
String stars= "***********"; //11個
String spaces=" ";
for (int i=0; i <=5; i++)
System.out.println(spaces.substring(0,i) + stars.substring(2*i));
for (int i=4; i>=0; i--)
System.out.println(spaces.substring(0,i) + stars.substring(2*i));
}
}
[color=Navy]3.以下為常用的兩種日期格式 4/25/1955 和 April 25,1955 ,撰寫一個程式,能夠讀入第一種格式的日期字串, 並以第二種格式列印出來。
( 月份英文: January, February , March, April, May, June, July, August, September, October, November, December )[/color]
範例輸入 :
4/25/1955
範例輸出 :
April 25,1955
[color=Red]我有爬文找到這個類似的,可是不知怎麼修改[/color]
import java.util.Date;
import java.util.Locale;
public class Translate {
public static void main(String[] args) {
Date date = new Date (args[0]);
Locale locale = new Locale("en","US");
System.out.println(String.format(locale,"%1$tB,%1$tD,%1$tY", date));
}
}
請大大謝協助幫忙!感激不盡!
[[i] 本帖最後由 9319074 於 2010-8-26 13:11 編輯 [/i]]
jayzhou_2046 2010-8-27 11:36
1. 範例是以一連串的數字輸入; 而你的郤是逐一輸入
建議以while廻圈把一連串的數字讀入.
2. SquareStars已經可以了; Main只須要把SquareStars
輸出星的區塊拷貝過來就可以; homework1並不是一
個輸出square stars的class
3. Date(java.lang.String) 已經在Java 1.6.x給移走了.
建設讀入輸入後, 把該String以split分成
year, month, date, 利用Date(int year, int month, date)
去生成date
PS: [ i ] <-- i的前後要加上空白才不會成了鈄體.
9319074 2010-8-30 11:18
[quote]原帖由 [i]jayzhou_2046[/i] 於 2010-8-27 11:36 發表 [url=http://forum.timway.com/f/redirect.php?goto=findpost&pid=11948909&ptid=393075][img]http://forum.timway.com/f/images/common/back.gif[/img][/url]
1. 範例是以一連串的數字輸入; 而你的郤是逐一輸入
建議以while廻圈把一連串的數字讀入.
2. SquareStars已經可以了; Main只須要把SquareStars
輸出星的區塊拷貝過來就可以; homework1並不是一 ... [/quote]
恩恩,我朋友幫我了,還是感謝你,
話說,
不知道是我軟體問題還是怎樣...
像這個程式...[code]import java.util.Date;
import java.util.Locale;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.print("請輸入日期(格式為mm/dd/yyyy):");
Scanner scanner = new Scanner(System.in);
String day = scanner.nextLine();
if (day.matches("[0-9]{2}/[0-2][0-9]/[0-9]{4}")) {
Date date = new Date (day);
Locale locale = new Locale("ENGLISH","US");
System.out.println(String.format(locale,"%1$tB,%1$td,%1$tY",date));
}
else
System.out.println("格式錯誤");
}
}[/code]我eclipse不能Run出來
如圖
[img]http://img801.imageshack.us/img801/8198/ddf.jpg[/img]
可是
NetBeans
可以Run出來,
如圖:
[img]http://img836.imageshack.us/img836/213/hjghj.jpg[/img]
不知是什麼原因,
我也更新到這個版本
[img]http://img832.imageshack.us/img832/4707/dsfdb.jpg[/img]
(因為不能貼網址,所以用圖片顯示...)
Download Java SE Development Kit 6u21
設定 windows 環境變數 也設定了...
[img]http://img801.imageshack.us/img801/9661/fgdc.jpg[/img]
可能真的是我的eclipse軟體有問題
因為是從書本光碟安裝來的..
==分隔線==
可是像這個程式[code]public class Degree{
public static void main(String[] args){
double f=0;
double c=Double.parseDouble(args[0]);
f=9.0/5.0*c+32;
System.out.print(f);
}
}[/code]eclipse 可以跑出來,
[img]http://img409.imageshack.us/img409/1369/73414309.jpg[/img]
[img]http://img838.imageshack.us/img838/2121/sdfsdfz.jpg[/img]
NetBeans 卻跑不出來,
[img]http://img810.imageshack.us/img810/6677/83799779.jpg[/img]
[img]http://img576.imageshack.us/img576/4279/81633216.jpg[/img]
不知道是什麼樣的問題...
剛剛打了版本指令:
[img]http://img689.imageshack.us/img689/7942/fdsfda.jpg[/img]
[[i] 本帖最後由 9319074 於 2010-8-30 11:22 編輯 [/i]]
jayzhou_2046 2010-8-30 13:43
1. 在不同的IDE環境, 先要確認一下JAVA_HOME, 及
CLASSPATH的環境參數.
2. Main.java中, 仍沿用1.6.1 deprecate的Date
constructor
3. 因Degree.java中, 用上了args
3.1 確認一下除錯執行時, 相關IDE是否能夠並已經輸
入command line(執行列)的參數
3.2 也可在Degree.java中, 先檢查一下args的長度
是否大於0, 然後才嘗試讀取args[0]
9319074 2010-8-30 22:42
[quote]原帖由 [i]jayzhou_2046[/i] 於 2010-8-30 13:43 發表 [url=http://forum.timway.com/f/redirect.php?goto=findpost&pid=11984737&ptid=393075][img]http://forum.timway.com/f/images/common/back.gif[/img][/url]
1. 在不同的IDE環境, 先要確認一下JAVA_HOME, 及
CLASSPATH的環境參數.
2. Main.java中, 仍沿用1.6.1 deprecate的Date
constructor
3. 因Degree.java中, 用上了args
3.1 確認一下除錯執行時 ... [/quote]
痾,不好意思,妳講得太深入,
我還是不懂你的意思,
因為我是新手,不懂那麼深的東西...
可以講新手可以明瞭的,什麼東西要改,或是設定什麼的,這樣我才比較懂,真是不好意思麻煩您了...
PS.我用的NetBEANS 是IDE 6.8 ,Eclipse 是用課本後面光碟安裝來的...
[[i] 本帖最後由 9319074 於 2010-8-30 22:50 編輯 [/i]]
gps0917_cn 2010-9-2 16:32
先假设第一个最高 然后用后面的分别跟第一个比较 比第一个数高的话就换位置
9319074 2010-9-3 08:49
[quote]原帖由 [i]gps0917_cn[/i] 於 2010-9-2 16:32 發表 [url=http://forum.timway.com/f/redirect.php?goto=findpost&pid=12024593&ptid=393075][img]http://forum.timway.com/f/images/common/back.gif[/img][/url]
先假设第一个最高 然后用后面的分别跟第一个比较 比第一个数高的话就换位置 [/quote]
痾,不好意思,我還是不懂你的含意...
jayzhou_2046 2010-9-3 10:02
回復 7# 的帖子
你還是打開command prompt去直接編譯並執行.
1. 在command prompt檢查一下Java的版本
2. 查看一下Eclipse, Netbeans的Java的版本
3. Main.java中, Java 1.6.1 已經刪除了Date利用String去
生成Date
你可以用Java -xlint:deprecation去查看一下
4. 6樓的老兄大概在講有關排序的東東.
5. 如果不是學校/工作的要求, 你還是先選一個合適的
IDE去編程吧! 雖知小弟不是在你旁邊, 利用討論區
去"手把手"地教授是有點費勁.
kcmc909909 2010-10-1 01:00
= =
好吾明囉....吾識牙=3=
jayzhou_2046 2010-10-1 02:09
回復 9# 的帖子
那裡不明白?
那些還未(認)識?
如果閣下是全部都不明白,
全部都還未認識的話,
小弟建議閣下還是找一本Java教學,
及/或到java.sun.com去查看一下相關的Java教學網頁.
遇到問題再回來發問.
當然前提是:閣下為什麼要懂Java編程?