java第十二周作業,java第十二周作業答案

本文目錄一覽:

JAVA作業求助

按照題目要求編寫的Java程序如下

class Tree{

private String name;

private int age;

private String category;

public Tree(){}

public Tree(String name,int age,String category){

this.name=name;

this.age=age;

this.category=category;

}

public void info(){

System.out.println(“名稱:”+this.name);

System.out.println(“樹齡:”+this.age);

System.out.println(“分類:”+this.category);

}

}

public class T{

public static void main(String[] args){

Tree t=new Tree(“白皮松”,23,”松科松屬”);

t.info();

}

}

JAVA作業

只有代碼沒有文檔。是用棧的知識實現的,沒學過的話就沒辦法了。

————————————–

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JTextField;

class Stack_Float

{

float nums[];

int top;

Stack_Float()

{

nums = new float[50];

top = -1;

}

boolean IsEmpty()

{

if (top == -1)

return true;

else

return false;

}

float Pop_Stack()

{

if (top == -1)

{

return 0;

}

top–;

return nums[top + 1];

}

float GetTop()

{

return nums[top];

}

void Push_Stack(float num)

{

if (top == 49)

return;

top++;

nums[top] = num;

}

}

class Stack_Char

{

char str[];

int top;

Stack_Char()

{

str = new char[50];

top = -1;

}

boolean CanPush(char c)

{

int temp = top;

if (c == ‘(‘)

{

while (temp != -1)

{

if (str[temp] == ‘(‘)

{

return false;

}

temp–;

}

}

temp = top;

if (c == ‘[‘)

{

while (temp != -1)

{

if (str[temp] == ‘[‘ || str[temp] == ‘(‘)

{

return false;

}

temp–;

}

}

if (c == ‘{‘)

{

while (temp != -1)

{

if (str[temp] == ‘{‘ || str[temp] == ‘[‘ || str[temp] == ‘(‘)

{

return false;

}

temp–;

}

}

return true;

}

boolean IsEmpty()

{

if (top == -1)

return true;

else

return false;

}

void Push_Stack(char ch)

{

if (top == 49)

return;

top++;

str[top] = ch;

}

char Pop_Stack()

{

if (top == -1)

return ‘\0’;

top–;

return str[top + 1];

}

char GetTop()

{

if (top == -1)

{

System.out.print(“error”);

System.exit(0);

}

return str[top];

}

}

public class jisuanqi extends javax.swing.JFrame implements ActionListener

{

JTextField text = new JTextField();

JTextField text1 = new JTextField();

JButton jButton1 = new JButton();

JButton jButton2 = new JButton();

JButton jButton3 = new JButton();

JButton jButton4 = new JButton();

JButton jButton5 = new JButton();

JButton jButton6 = new JButton();

JButton jButton7 = new JButton();

JButton jButton8 = new JButton();

JButton jButton9 = new JButton();

JButton jButton10 = new JButton();

JButton jButton11 = new JButton();

JButton jButton12 = new JButton();

JButton jButton13 = new JButton();

JButton jButton14 = new JButton();

JButton jButton15 = new JButton();

JButton jButton16 = new JButton();

JButton jButton17 = new JButton();

JButton jButton18 = new JButton();

JButton jButton19 = new JButton();

JButton jButton20 = new JButton();

JButton jButton21 = new JButton();

JButton jButton22 = new JButton();

String show = “”;

public jisuanqi()

{

initComponents();

}

char[] TranSmit(char str[])

{

char houzhui[] = new char[50]; // 存放後綴表達式的字元串

int i = 0, j = 0;

char c = str[i];

Stack_Char s = new Stack_Char(); // 存放運算符的棧

while (c != ‘=’) // 對算術表達式掃描未結束時

{

if (c = ‘0’ c = ‘9’)

{

while (c = ‘0’ c = ‘9’)// 數字直接入棧

{

houzhui[j] = c;

j++;

i++;

c = str[i];

}

houzhui[j] = ‘#’;// 用#隔開數字

j++;

}

switch (c) // 掃描到運算符時

{

case ‘+’:

case ‘-‘:

case ‘*’:

case ‘/’:

case ‘(‘:

case ‘[‘:

case ‘{‘:

if (s.IsEmpty() == true) // 棧空,直接入棧

{

s.Push_Stack(c);

i++;

c = str[i];

break;

}

if (ComPare(s.GetTop(), c) == -1) {

s.Push_Stack(c); // 入棧

i++;

c = str[i];

break;

}

if (ComPare(s.GetTop(), c) == 1) {

houzhui[j] = s.Pop_Stack();// 出棧元素存入後綴表達式

j++;

break;

}

case ‘)’: // 掃描到 )

while (s.GetTop() != ‘(‘) // 未掃描到 ( 時,出棧

{

houzhui[j] = s.Pop_Stack();

j++;

}

s.Pop_Stack(); // ‘(‘ 出棧

i++;

c = str[i];

break;

case ‘]’: // 掃描到 ]

while (s.GetTop() != ‘[‘) // 未掃描到 [ 時,出棧

{

houzhui[j] = s.Pop_Stack();

j++;

}

s.Pop_Stack(); // ‘[‘ 出棧

i++;

c = str[i];

break;

case ‘}’: // 掃描到 }

while (s.GetTop() != ‘{‘) // 未掃描到 { 時,出棧

{

houzhui[j] = s.Pop_Stack();

j++;

}

s.Pop_Stack(); // ‘{‘ 出棧

i++;

c = str[i];

break;

}

}

while (s.IsEmpty() != true)// 把剩餘的運算符直接出棧

{

houzhui[j] = s.Pop_Stack();

j++;

}

houzhui[j] = ‘=’;// 後綴表達式後面加 =

j++;

houzhui[j] = ‘\0’;

j++;

return houzhui;

}

float Count(char str[])

{

Stack_Float s = new Stack_Float();// 定義存放數字的棧

char c = str[0];

int i = 0;

float result = 0, temp, left, right;

while (c != ‘=’) // 未掃描到 = 時

{

if (c = ‘0’ c = ‘9’)// 掃描到數字

{

temp = 0;

while (c != ‘#’)// 未讀到分隔符時

{

temp = temp * 10 + c – ‘0’;

i++;

c = str[i];

}

s.Push_Stack(temp);// 進棧

}

switch (c)// 掃描到運算符時

{

case ‘+’:

{

result = s.Pop_Stack() + s.Pop_Stack();// 2個數字出棧相加

s.Push_Stack(result);// 最後得數進棧

break;

}

case ‘-‘:

{

right = s.Pop_Stack();// 右操作數出棧

left = s.Pop_Stack();// 左操作數出棧

result = left – right;

s.Push_Stack(result);

break;

}

case ‘*’:

{

result = s.Pop_Stack() * s.Pop_Stack();// 2個數字出棧相乘

s.Push_Stack(result);

break;

}

case ‘/’:

{

right = s.Pop_Stack();// 右操作數出棧

left = s.Pop_Stack();// 左操作數出棧

result = left / right;

s.Push_Stack(result);

break;

}

}

i++;

c = str[i];

}

return result;

}

int ComPare(char a, char b) // 判斷運算符的優先順序函數

{

int s[][] = {// 棧頂元素高於算術表達式中的元素時, 返回 1,否則返回 -1

{ 1, 1, -1, -1, -1, 1, -1, 1, -1, 1 },

{ 1, 1, -1, -1, -1, 1, -1, 1, -1, 1 },

{ 1, 1, 1, 1, -1, 1, -1, 1, -1, 1 },

{ 1, 1, 1, 1, -1, 1, -1, 1, -1, 1 },

{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },

{ 1, 1, 1, 1, -1, 1, -1, -1, -1, -1 },

{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },

{ 1, 1, 1, 1, -1, -1, -1, -1, -1, 1 },

{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },

{ 1, 1, 1, 1, -1, -1, -1, -1, -1, -1 } };

char x1[] = { ‘+’, ‘-‘, ‘*’, ‘/’, ‘(‘, ‘)’, ‘[‘, ‘]’, ‘{‘, ‘}’ };// 棧頂元素

char x2[] = { ‘+’, ‘-‘, ‘*’, ‘/’, ‘(‘, ‘)’, ‘[‘, ‘]’, ‘{‘, ‘}’ };// 算術表達式中的元素

int k = 0, m, n = 0;

for (m = 0; m 10; m++) // 查找2個進行比較的運算符在表中的位置,並返回比較結果

{

for (n = 0; n 10; n++)

{

if (x1[m] == a x2[n] == b)

{

k = 1;

break; // 找到比較結果後,跳出循環

}

}

if (k == 1)

break;

}

return s[m][n];// 返回比較結果

}

public void actionPerformed(ActionEvent e)

{

if (e.getSource() == jButton1)

{

show += “1”;

text.setText(show);

}

if (e.getSource() == jButton2)

{

show += “2”;

text.setText(show);

}

if (e.getSource() == jButton3)

{

show += “3”;

text.setText(show);

}

if (e.getSource() == jButton4)

{

show += “4”;

text.setText(show);

}

if (e.getSource() == jButton5)

{

show += “5”;

text.setText(show);

}

if (e.getSource() == jButton6)

{

show += “6”;

text.setText(show);

}

if (e.getSource() == jButton7)

{

show += “7”;

text.setText(show);

}

if (e.getSource() == jButton8)

{

show += “8”;

text.setText(show);

}

if (e.getSource() == jButton9)

{

show += “9”;

text.setText(show);

}

if (e.getSource() == jButton10)

{

show += “0”;

text.setText(show);

}

if (e.getSource() == jButton11)

{

show += “+”;

text.setText(show);

}

if (e.getSource() == jButton12)

{

show += “-“;

text.setText(show);

}

if (e.getSource() == jButton13)

{

show += “*”;

text.setText(show);

}

if (e.getSource() == jButton14)

{

show += “/”;

text.setText(show);

}

if (e.getSource() == jButton15)

{

show += “(“;

text.setText(show);

}

if (e.getSource() == jButton16)

{

show += “)”;

text.setText(show);

}

if (e.getSource() == jButton17)

{

show += “[“;

text.setText(show);

}

if (e.getSource() == jButton18)

{

show += “]”;

text.setText(show);

}

if (e.getSource() == jButton19)

{

show += “{“;

text.setText(show);

}

if (e.getSource() == jButton20)

{

show += “}”;

text.setText(show);

}

if (e.getSource() == jButton21)

{

show = “”;

text.setText(“”);

text1.setText(“”);

}

if (e.getSource() == jButton22)

{

show += “=”;

text.setText(show);

char str1[] = new char[50];

char str2[] = new char[50];

float result = 0;

str1 = show.toCharArray();

str2 = TranSmit(str1);

result = Count(str2);

text1.setText((new String(str2)).trim());

text.setText(“” + result);

show = “”;

}

}

private void initComponents()

{

text.setBounds(10, 10, 270, 30);

text1.setBounds(10, 50, 270, 30);

jButton1.setBounds(10, 90, 60, 25);

jButton2.setBounds(80, 90, 60, 25);

jButton3.setBounds(150, 90, 60, 25);

jButton4.setBounds(220, 90, 60, 25);

jButton5.setBounds(10, 120, 60, 25);

jButton6.setBounds(80, 120, 60, 25);

jButton7.setBounds(150, 120, 60, 25);

jButton8.setBounds(220, 120, 60, 25);

jButton9.setBounds(10, 150, 60, 25);

jButton10.setBounds(80, 150, 60, 25);

jButton11.setBounds(150, 150, 60, 25);

jButton12.setBounds(220, 150, 60, 25);

jButton13.setBounds(10, 180, 60, 25);

jButton14.setBounds(80, 180, 60, 25);

jButton15.setBounds(150, 180, 60, 25);

jButton16.setBounds(220, 180, 60, 25);

jButton17.setBounds(150, 210, 60, 25);

jButton18.setBounds(220, 210, 60, 25);

jButton19.setBounds(10, 210, 60, 25);

jButton20.setBounds(80, 210, 60, 25);

jButton21.setBounds(10, 240, 60, 25);

jButton22.setBounds(80, 240, 60, 25);

jButton1.setText(“1”);

jButton2.setText(“2”);

jButton3.setText(“3”);

jButton4.setText(“4”);

jButton5.setText(“5”);

jButton6.setText(“6”);

jButton7.setText(“7”);

jButton8.setText(“8”);

jButton9.setText(“9”);

jButton10.setText(“0”);

jButton11.setText(“+”);

jButton12.setText(“-“);

jButton13.setText(“*”);

jButton14.setText(“/”);

jButton15.setText(“(“);

jButton16.setText(“)”);

jButton17.setText(“[“);

jButton18.setText(“]”);

jButton19.setText(“{“);

jButton20.setText(“}”);

jButton21.setText(“CE”);

jButton22.setText(“=”);

jButton1.addActionListener(this);

jButton2.addActionListener(this);

jButton3.addActionListener(this);

jButton4.addActionListener(this);

jButton5.addActionListener(this);

jButton6.addActionListener(this);

jButton7.addActionListener(this);

jButton8.addActionListener(this);

jButton9.addActionListener(this);

jButton10.addActionListener(this);

jButton11.addActionListener(this);

jButton12.addActionListener(this);

jButton13.addActionListener(this);

jButton14.addActionListener(this);

jButton15.addActionListener(this);

jButton16.addActionListener(this);

jButton17.addActionListener(this);

jButton18.addActionListener(this);

jButton19.addActionListener(this);

jButton20.addActionListener(this);

jButton21.addActionListener(this);

jButton22.addActionListener(this);

add(text);

add(text1);

add(jButton1);

add(jButton2);

add(jButton3);

add(jButton4);

add(jButton5);

add(jButton6);

add(jButton7);

add(jButton8);

add(jButton9);

add(jButton10);

add(jButton11);

add(jButton12);

add(jButton13);

add(jButton14);

add(jButton15);

add(jButton16);

add(jButton17);

add(jButton18);

add(jButton19);

add(jButton20);

add(jButton21);

add(jButton22);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLayout(null);

setBounds(300, 300, 300, 300);

setVisible(true);

}

public static void main(String args[])

{

new jisuanqi();

}

}

java作業求助

按照題目要求編寫的Java程序如下.

class Dog{

private String name;

private int age;

private String color;

public Dog(){}

public Dog(String name,int age,String color){

this.name=name;

this.age=age;

this.color=color;

}

public void bark(){

System.out.println(“汪汪”);

}

}

public class Main{

public static void main(String[] args){

Dog d=new Dog(“花花”,3,”白色”);

d.bark();

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/190431.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-29 22:33
下一篇 2024-11-29 22:33

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論