導航:首頁 > 編程語言 > java編程演示

java編程演示

發布時間:2022-07-05 22:31:54

⑴ 怎麼使用java編程

package com.isoftstone.interview.traffic;
import java.util.Random;
import java.util.Scanner;
public class BullsandCows {
private static int lucknum;
/**
* 隨機產生1-99的一個數字
* @return
*/
public static int makeNum(){
lucknum = new Random().nextInt(99) + 1;
return lucknum;
}
/**
* @param args
*/
public static void main(String[] args) {
BullsandCows.makeNum();
System.out.println("幸運數字是:" + lucknum);
int count = 1;
while(count < 4){
System.out.print("請輸入:");
Scanner objScanner = new Scanner(System.in);
int putnum = objScanner.nextInt();
if(putnum == lucknum){
System.out.println("你真棒!猜對了!");
break;
}else if(putnum > lucknum){
System.out.println("你猜大了");
}else{
System.out.println("你猜小了");
}
if(count == 3){
System.out.println("游戲結束!");
}
count++;
}
}
}

⑵ java簡單編程

// Student.java
public class Student {
private String stuid;
private String name;
private int chinese;
private int math;
private int english;
private int avg;
private int sum;
public int getAvg() {
return avg;
}
public void setAvg(int avg) {
this.avg = avg;
}
public int getSum() {
return sum;
}
public void setSum(int sum) {
this.sum = sum;
}
public String getStuid() {
return stuid;
}
public void setStuid(String stuid) {
this.stuid = stuid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getChinese() {
return chinese;
}
public void setChinese(int chinese) {
this.chinese = chinese;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getEnglish() {
return english;
}
public void setEnglish(int english) {
this.english = english;
}

public String getMessage() {
String messages="學生編號 :"+this.stuid+" 學生姓名: "+this.name+" 語文:"+this.chinese+" 數學:"+this.math+" 英語: "+this.english+" 總分 :"+this.sum+" 平均分 :"+this.avg;
return messages;
}

public Student(String stuid,String name,int chinese,int math, int english) {
this.chinese=chinese;
this.english=english;
this.math=math;
this.name=name;
this.stuid=stuid;
this.sum=chinese+math+english;
this.avg=this.sum/3;
}
public Student() {

}

}
//StudentAll.java
public class StudentAll {

public static Student[] save(Student student,Student [] students) {

boolean fal=checkSid(student.getStuid(), students);//先查詢是否有這個 學生編號
if(fal) {
System.out.println("該學生編號已存在,請重新輸入");
return students;
}
for(int i=0;i<students.length;i++) {
if(students[i]==null) {
students[i]=student;
break;
}
}
return students;
}

public static String getStudent(String stuid,Student [] students) {
Student s=null;
for (Student student : students) {
if(student!=null&&student.getStuid().equals(stuid)) {
s=student;
}
}
String messages=s==null?"error: 該編號不存在請重新輸入":s.getMessage();
return messages;
}

public static Student[] update (String stuid,Student student,Student [] students) {
boolean fal=checkSid(stuid, students);//先查詢是否有這個 學生編號
if(!fal) {
System.out.println("請輸入正確的學生編號");
return students;
}
for(int i=0;i<students.length;i++) {
if(students[i]!=null&&students[i].getStuid().equals(stuid)) {
students[i]=student;
}
}
return students;
}

public static Student[] delStudent(String stuid,Student [] students) {
boolean fal=checkSid(stuid, students);//先查詢是否有這個 學生編號
if(!fal) {
System.out.println("請輸入正確的學生編號");
return students;
}
for(int i=0;i<students.length;i++) {
if(students[i]!=null&&students[i].getStuid().equals(stuid)) {
students[i]=null;
}
}
return students;
}
public static void getStudeltAll(Student [] students) {
for (Student student : students) {
if(student!=null) {
System.out.println(student.getMessage());
}
}
}

//檢驗學生編號是否存在方法
public static boolean checkSid(String stuid,Student [] students) {
boolean fal=false;
String messages=getStudent(stuid, students);//先查詢是否有這個 學生編號
if(!messages.contains("error")) {//判斷是否包含 error 有則沒有此學生編號
fal=true;
}
return fal;
}

}
//StudentMain.java 主方法
import java.util.Scanner;
public class StudentMain {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
System.out.print("請輸入學生總人數");
int count= scn.nextInt();
Student [] students=new Student [count];
while (true) {
System.out.println("1.新增一名學生 2.根據學號查詢學生 3.根據學號修改學生 4. 根據學號刪除一名學生 5. 查看所有學生 其他.退出");
int x= scn.nextInt();
switch(x) {
case 1 : {
System.out.println("請輸入學生編號");
String stuid=scn.next();
System.out.println("請輸入學生姓名");
String name=scn.next();
System.out.println("請輸入該學生語文成績");
int chinese= scn.nextInt();
System.out.println("請輸入該學生數學成績");
int math= scn.nextInt();
System.out.println("請輸入該學生英語成績");
int english= scn.nextInt();
Student student =new Student(stuid, name, chinese, math, english);
students=StudentAll.save(student, students);
break;
}
case 2:{
System.out.println("請輸入學生編號");
String stuid=scn.next();
System.out.println(StudentAll.getStudent(stuid, students));
break;
}
case 3:{
System.out.println("請輸入要修改的學生編號");
String stuid=scn.next();
System.out.println("請輸入學生姓名");
String name=scn.next();
System.out.println("請輸入該學生語文成績");
int chinese= scn.nextInt();
System.out.println("請輸入該學生數學成績");
int math= scn.nextInt();
System.out.println("請輸入該學生英語成績");
int english= scn.nextInt();
Student student =new Student(stuid, name, chinese, math, english);
students=StudentAll.update(stuid, student, students);
break;
}
case 4:{
System.out.println("請輸入學生編號");
String stuid=scn.next();
students=StudentAll.delStudent(stuid, students);
break;
}
case 5:{
StudentAll.getStudeltAll(students);
break;
}default:{
System.exit(0);
}
}
}
}

}

⑶ 如何用java編程,實現聲音特徵的提取

您好,1 雙方之間的網路連接
Java在這方面有其獨特的優勢,Java提供了豐富的網路類庫的支持,可以輕松編寫多種類型的網路通信程序。在我下面的例子中我就使用了TCP/IP協議,通過Java的Socket類進行編程。
2 音頻信號的採集和回放以及音頻數字信號的編碼與解碼
在解決這兩個問題的時候,在網上很幸運地通過一些文章的介紹,找到了Answer Machine 演示程序的源代碼(由of jsresources.org的Florian Bomers 和Matthias Pfisterer編寫,網址http://www.jsresources.org/apps/am.html)。在這個程序代碼中,有幾個解決我們問題所需要的類,而且作者將這些類封裝的很好,我們基本不需要做什麼改動,只需要屏蔽其中的調試信息的輸出就行了,更可貴的是它還封裝了幾種常見的音頻格式。其中的GSM格式(Global System for Mobile Telecommunications)就是我們下面例子中採用的壓縮格式,GSM格式可以將128kbps 的音頻數據流 (16bit通過8k Hz的音頻采樣) 壓縮為13kbps 的音頻數據流,非常適合語音信號的傳送,所以可謂是一石二鳥。
我分析過這幾個類的源代碼,不得不佩服它的作者,每個類的源代碼都很精煉,大家可以自己分析一下。好了下面就給大家講講這幾個類,並且將它們用到的Java Sound API中的類和函數等一並做個簡單介紹,讓大家對Java Sound API中常用的類也有個大致的了解。由於Java Sound API中的類比較多。限於篇幅無法對所有用到的類做詳盡的解釋,以下內容只是簡單提及了各個類的用途和使用規范,有關Java Sound API中類的具體介紹請大家訪問這里http://java.sun.com/j2se/1.4.2/docs/api/, 查找javax.sound.sampled的相關內容。
以下的提到幾個文件是從Answer Machine 演示程序的源代碼中提取出來的,由於是開放源代碼的程序,大家在使用的時候請注意相關的公共協議。
① AMAudioFormat類(封裝在AMAudioFormat.java文件中)
AMAudioFormat類封裝了CD、FM、TELEPHONE、GSM這四種質量的音頻格式的參數,使用起來也非常簡單,這樣我們在使用Java Sound API時就不用自己去寫那些復雜的代碼了,但為了明白Java Sound API的原理,我們需要對它的代碼做一下分析。它使用了Java Sound API中的AudioFormat這個類,這個類非常重要,在Java中對任何音頻數據的使用都要實現通過它指定所需要使用的音頻格式,AudioFormat類有一個嵌套的類AudioFormat.Encoding,實際上大部分對AudioFormat類的使用都是使用的這個嵌套的類。
AMAudioFormat類的重要方法:
名稱:getLineAudioFormat
調用格式:getLineAudioFormat(整型音頻格式代號)
返回值: 根據傳遞音頻格式代號生成的AudioFormat對象。
說道這里大家可能要問了,那麼通過Java Sound API可以直接使用GSM格式嗎?答案是比較復雜,但同樣有解決的辦法,作者在這里使用了另外的開源程序的類庫-tritonus的GSM編碼解碼庫。大家需要在這里www.tritonus.org/plugins.html下載tritonous_share.jar和tritonus_gsm.jar兩個文件,並在AMAudioFormat類中引用,這樣就完成了GSM格式的設置。需要告訴大家的是在對AMAudioFormat.java這個類進行編譯後,我們的程序運行的時候就可以不需要tritonous_share.jar和tritonus_gsm.jar這兩個文件的支持了。
② AudioCapture類(封裝在AudioCapture.java文件中)
AudioCapture類封裝了從音頻硬體捕獲音頻數據並自動編碼為GSM音頻壓縮數據的過程,並且通過它的getAudioInputStream()方法提供給我們一個音頻數據輸入流,我們就可以直接將這個流發送到網路中。
AudioCapture 類的重要方法:
名稱:getAudioInputStream
調用格式:getAudioInputStream()
返回值:AudioInputStream對象
AudioCapture 類使用了Java Sound API中的AudioInputStream、AudioFormat、AudioSystem這幾個類和TargetDataLine、LineListener介面。除了AudioFormat類我再簡單介紹一下其他的類:
AudioInputStream 類是帶有特殊音頻格式和長度的InputStream類,它有兩個構造方法,分別是AudioInputStream(InputStream stream, AudioFormat format,long length)和AudioInputStream(TargetData -Line line)。
TargetDataLine 介面是DataLine介面的一種,通過它就可以直接從音頻硬體獲取數據了,它有幾個常用的方法,分別是:open(AudioFormat format)、void open(AudioFormat format, int bufferSize)、int read(byte[] b, int off, int len)。
AudioSystem 類是Java標准音頻系統的入口點,在AudioSystem 類中使用他的getLine() 方法創建TargetDataLine對象。
LineListener介面用來對線路狀態改變的時間進行監聽,他的重要的方法是update(LineEvent event)方法。
③ AudioPlayStream類(封裝在AudioPlayStream.java文件中)
AudioPlayStream類與AudioCapture類剛好相反,它封裝了GSM壓縮音頻數據的解碼和音頻信號的回放過程,提供給我們一個音頻信號輸出流。AudioCapture類用到的Java Sound API中的類它也基本都用到了,只是它使用了SourceDataLine介面而不是TargetDataLine介面
④ Debug類(封裝在Debug.java文件中)
Debug類主要用來在調試時輸出訊息,代碼很少,後來我把其中輸出信息的語句都屏蔽了,對程序運行沒有影響。
為了方便使用以上的幾個類,我們需要對它們進行編譯和打包,編譯時需要設置相關的編譯環境,以下是我們需要用到的命令
set CLASSPATH=%CLASSPATH%;.;tritonus_gsm.jar;tritonus_share.jar
javac am*.java amaudio*.java
jar cmf packagingmanifest.mf am.jar am*.class
amaudio*.class
說明一下,我將以上提到的Java源碼文件放在了am目錄下,編譯之後可以得到一個8k的am.jar文件,我們下一步所需要做的就是在我們的程序中引用這個包。

⑷ Java數組編程

既然向我求助了,就幫你寫一下。。。。

package com.dsideal.test;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;

public class JosephusPuzzle {

/**
* @param args
*/
public void puzzle(){
System.out.println("游戲開始:");
System.out.println("請輸入人數:");
int playerNum=2,m=3;
Scanner scan =new Scanner(new Scanner(System.in).nextLine());
if(scan.hasNext()){
playerNum=scan.nextInt();
}
scan.close();

System.out.println("請輸入m的值:");
scan =new Scanner(new Scanner(System.in).nextLine());
if(scan.hasNext()){
m=scan.nextInt();
}
scan.close();

System.out.println("游戲人數為:"+playerNum+" m值為:"+m);
System.out.println("初始化游戲者對象。。。");
System.out.println("隨即獲取密碼,為演示簡便密碼不大於人數。");
List<Person> pList=new ArrayList<Person>();
Person p=null;
Random random=new Random();
for(int i=0;i<playerNum;i++){
p=new Person();
p.setId(i+1);
p.setPassword(random.nextInt(playerNum-1)+1);
p.setOut(false);
pList.add(p);
System.out.println("第"+(i+1)+"個人的密碼是:"+p.getPassword());
}
List<Person> outPList=new ArrayList<Person>();
loop(m,pList,outPList);
System.out.println("出列順序為:");
for(Person person:outPList){
System.out.print(person.getId()+"\t");
}

}
public void loop(int m,List<Person> pList,List<Person> outPList){
int k=m;
for(int i=0;i<pList.size();i++){
//System.out.println(i+" "+(k-1));
if(i==(k-1)){
Person p=pList.get(i);
outPList.add(p);
pList.remove(p);
m=p.getPassword();
break;
}
if(i+1==pList.size()&&k>pList.size()){
i=-1;k=k-pList.size();
}
}
if(pList.size()>0){
loop(m,pList,outPList);
}

}
public static void main(String[] args) {
new JosephusPuzzle().puzzle();
}

class Person{
private int id;
private int password;
private boolean isOut;
public boolean isOut() {
return isOut;
}
public void setOut(boolean isOut) {
this.isOut = isOut;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPassword() {
return password;
}
public void setPassword(int password) {
this.password = password;
}

}
}

⑸ java簡單編程

public int fun(char c,String str){
int a=0;//c出現次數
char[] arr=str.toCharArray();
for(char c1 : arr){
if(c.equals('c1')){
a++;
}
}
System.out.println("c出現的次數為:"+a);
return a;
}
最後main方法調用就行了;
關注我主頁,歡迎來交流學習;

⑹ java編程判斷一個整數能否被9整除

任意整數的每一位數字相加可以被 9 整除,則這個整數能被 9 整除。

我們的思維過程演示:

1、由這個知識,我們在編寫程序的時候可得這個核心代碼:

if(n%9==0){

System.out.println("n可以被9整除");

}else{

System.out.println("n不能被9整除");

}

2、編寫程序全部代碼,有

(6)java編程演示擴展閱讀:

一個數n被m整除,其處理方法為:

if(n%m==0){

System.out.println("n可以被m整除");

}else{

System.out.println("n不能被m整除");

}



⑺ Java編程

importjava.awt.EventQueue;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;

importjavax.swing.ButtonGroup;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JRadioButton;
importjavax.swing.JTextField;
importjavax.swing.border.EmptyBorder;

{

privateJPanelcontentPane;
privateJTextFieldtextField;
privateStringsaveValue="男";
/**
*Launchtheapplication.
*/
publicstaticvoidmain(String[]args){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
testJframeframe=newtestJframe();
frame.setVisible(true);
}catch(Exceptione){
e.printStackTrace();
}
}
});
}

/**
*Createtheframe.
*/
publictestJframe(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,450,300);
contentPane=newJPanel();
contentPane.setBorder(newEmptyBorder(5,5,5,5));
contentPane.setLayout(null);
setContentPane(contentPane);

JLabellabel=newJLabel("姓名");
label.setBounds(34,48,54,15);
contentPane.add(label);

textField=newJTextField();
textField.setBounds(121,45,93,21);
contentPane.add(textField);
textField.setColumns(10);

JLabellabel_1=newJLabel("性別");
label_1.setBounds(34,86,54,15);
contentPane.add(label_1);

ButtonGroupbg=newButtonGroup();
JRadioButtonradioButton=newJRadioButton("男",true);
radioButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
JRadioButtontemp=(JRadioButton)e.getSource();
if(temp.isSelected()){
saveValue=temp.getText();
}
}
});
radioButton.setSelected(true);
radioButton.setBounds(121,82,60,23);
contentPane.add(radioButton);

JRadioButtonradioButton_1=newJRadioButton("女");
radioButton_1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
JRadioButtontemp=(JRadioButton)e.getSource();
if(temp.isSelected()){
saveValue=temp.getText();
}
}
});
radioButton_1.setBounds(183,82,66,23);
contentPane.add(radioButton_1);
bg.add(radioButton_1);
bg.add(radioButton);

JButtonbutton=newJButton("提交");
button.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
System.out.println("姓名:"+textField.getText());
System.out.println("性別:"+saveValue);
}
});
button.setBounds(62,156,93,23);
contentPane.add(button);

}

}

⑻ JAVA編程,要十分詳細,給高分

張小喜告別996 實現高效編程 減少開發壓力 開啟Java高效編程之門(完整版高清視頻)網路網盤

鏈接: https://pan..com/s/1kKaGzsXHu3Cy7MqvIY7r3g

提取碼: aizj 復制這段內容後打開網路網盤手機App,操作更方便哦

若資源有問題歡迎追問~

⑼ java經典編程案例有哪些

  1. java編程的記事本:

    import java.util.*;
    public class JieChengExample
    {
    public static void main(String args[])
    {
    Scanner input=new Scanner(System.in);
    int n,sum;
    Jiecheng jie=new Jiecheng();
    System.out.print("輸入n的值:");//輸入有幾個階乘相加
    n=input.nextInt();
    sum=0;
    for(int i=1;i<=n;i++)
    {
    sum=sum+jie.jiecheng(i);//這是n個階乘相加
    }
    System.out.println("1!+2!+3!+....+n!的和是:"+sum);
    }
    }
    class Jiecheng
    {
    public int jiecheng(int temp)//算階乘的方法
    {
    int sum=1;
    for(int i=1;i<=temp;i++)
    {
    sum=sum*i; //計算階乘
    }
    return sum;//將一個階乘返回
    }
    }

2.java賽馬游戲:

import java.util.Random;
public class Test {
public static void main(String[] args) {
Competition c = new Competition();
Thread T = new Thread(c);
T.start();
}
}
class Competition implements Runnable{
int red = 0;
int green = 0;
int Speed [] = new int [2];
Competition(){

}
public void run(){
Random r = new Random();
for(int a= 0;a<500;a++){
for(int j = 0;j<2;j++){
Speed[j] = r.nextInt(2);
red = red + Speed[j];
Speed[j] = r.nextInt(2);
green = green + Speed[j];
}
System.out.println("red的速度為"+red);
System.out.println("green的速度為"+green);
while(red >=500 || green>=500){
if(red >=500){
System.out.println("red先抵達終點線");
}
if(green >= 500){
System.out.println("green先抵達終點線");
}
if(green ==500 && red ==500 ){
System.out.println("兩個同時到達");
}
return;
}
}
/* if(red >green){
System.out.println("Redwin"+red);
}
if(red<green){
S...import java.util.Random;
public class Test {
public static void main(String[] args) {
Competition c = new Competition();
Thread T = new Thread(c);
T.start();
}
}
class Competition implements Runnable{
int red = 0;
int green = 0;
int Speed [] = new int [2];
Competition(){

}
public void run(){
Random r = new Random();
for(int a= 0;a<500;a++){
for(int j = 0;j<2;j++){
Speed[j] = r.nextInt(2);
red = red + Speed[j];
Speed[j] = r.nextInt(2);
green = green + Speed[j];
}
System.out.println("red的速度為"+red);
System.out.println("green的速度為"+green);
while(red >=500 || green>=500){
if(red >=500){
System.out.println("red先抵達終點線");
}
if(green >= 500){
System.out.println("green先抵達終點線");
}
if(green ==500 && red ==500 ){
System.out.println("兩個同時到達");
}
return;
}
}
/* if(red >green){
System.out.println("Redwin"+red);
}
if(red<green){
System.out.println("Greenwin"+green);
}
if(red == green){
System.out.println("equal");*/

JAVA的介紹:

Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。Java技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。

⑽ 用java怎麼編程序

//你看看我這個 記得把這一行刪掉哦 老師會發現的
//第二題
import java.util.Scanner;
// 題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。
// 例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加有鍵盤控制。
// 程序分析:關鍵是計算出每一項的值。
public class Eigth {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in).useDelimiter("\\s*");
//以空格作為分隔符
System.out.print("求s=a+aa+aaa+aaaa+...的值,請輸入a的值:");
int a = scan.nextInt();
System.out.print("求s=a+aa+aaa+aaaa+...的值,請輸入數字的個數:");
int n = scan.nextInt();
scan.close();//關閉掃描器
System.out.println(expressed(a,n)+add(a,n));
}
//求和表達式
private static String expressed(int a,int n){
StringBuffer sb = new StringBuffer();
StringBuffer subSB = new StringBuffer();
for(int i=1;i<n+1;i++){
subSB = subSB.append(a);
sb = sb.append(subSB);
if(i<n)
sb = sb.append("+");
}
sb.append("=");
return sb.toString();
}
//求和
private static long add(int a,int n){
long sum = 0;
long subSUM = 0;
for(int i=1;i<n+1;i++){
subSUM = subSUM*10+a;
sum = sum+subSUM;
}
return sum;
}
}
//第三題
import java.util.Scanner;
public class Two {
// 判斷101-200之間有多少個素數,並輸出所有素數
public static void main(String[] args) {
System.out.println("請輸入所求范圍:");
Scanner sc1 = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);
int m = sc1.nextInt();
int n = sc2.nextInt();
int count = 0;
//統計素數個數
for (int i = m; i < n; i++) {
if (isPrime(i)) {
count++;
System.out.print(i + " ");
if (count % 10 == 0) {
System.out.println();
}
}
}
System.out.println();
System.out.println("在" + m + "和" + n + "之間共有" + count + "個素數");
}

//判斷素數
private static boolean isPrime(int n) {
boolean flag = true;
if (n == 1) {
flag = false;
} else {
for (int i = 2; i <= Math.sqrt(n); i++) {
if ((n % i) == 0) {
flag = false;
break;
} else {
flag = true;
}
}
}
return flag;
}
}

閱讀全文

與java編程演示相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:422
個人所得稅java 瀏覽:761
多餘的伺服器滑道還有什麼用 瀏覽:192
pdf劈開合並 瀏覽:28
不能修改的pdf 瀏覽:752
同城公眾源碼 瀏覽:489
一個伺服器2個埠怎麼映射 瀏覽:298
java字元串ascii碼 瀏覽:79
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:946
安卓導航無聲音怎麼維修 瀏覽:333
app怎麼裝視頻 瀏覽:431
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491