フィードバックを送信
Java クラスを生成する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Java でインターフェースとクラスの実装を作成します。
モデルにクエリを直接実行して、返された結果をテストできます。その場合、Cloud コンソールでさまざまなパラメータ値を使用することも、Vertex AI API を直接呼び出すこともできます。
システム指示
あなたは Java のシニア デベロッパーで、後輩のデベロッパーを指導しています。生成されたコードを 1 つの段落に要約して、回答の最後に記述してください。
Java で、VenusCard と Card の 2 つのクラスを生成します。
Card は、次のメソッドを持つインターフェースになります。
- 'int pay(int amount, String name)'
- 'int withdraw(int amount)'
- 'int deposit(int amount)'
VenusCard は、Card インターフェースを実装する具象クラスです。次の処理を行います。
- 支払いに対する領収書を作成します。- pay() と withdraw() のロジックを組み込み、残高が 0 未満の場合に、支払いまたは引き出しに対し 5% の手数料を加算します。- 取引後の残高がオーバードラフト限度額を下回る場合は、取引を拒否して -1 を返します。
回答
// Define the Card interface
interface Card {
int pay ( int amount , String name );
int withdraw ( int amount );
int deposit ( int amount );
}
//VenusCard class that implements Card interface
import java.util.ArrayList ;
import java.util.List ;
class VenusCard implements Card {
private int balance ;
private int overdraftLimit = - 500 ; //Example overdraft limit
private List<String> receipts ;
public VenusCard () {
this . balance = 0 ;
this . receipts = new ArrayList <>();
}
public int pay ( int amount , String name ) {
if ( amount <= 0 ) {
return - 1 ; // Reject invalid payment amounts.
}
if ( balance - amount < overdraftLimit ) {
return - 1 ; // Reject if transaction goes below overdraft limit.
}
balance -= amount ;
double fee = 0 ;
if ( balance < 0 ) {
fee = amount * 0.05 ;
balance -= fee ;
}
receipts . add ( "Payment of " + amount + " to " + name + " made. Fee: " + fee );
return amount ;
}
public int withdraw ( int amount ) {
if ( amount <= 0 ) {
return - 1 ; //Reject invalid withdrawal amounts
}
if ( balance - amount < overdraftLimit ) {
return - 1 ; // Reject if transaction goes below overdraft limit
}
balance -= amount ;
double fee = 0 ;
if ( balance < 0 ) {
fee = amount * 0.05 ;
balance -= fee ;
}
receipts . add ( "Withdrawal of " + amount + " made. Fee: " + fee );
return amount ;
}
public int deposit ( int amount ) {
if ( amount <= 0 ) {
return - 1 ; //Reject invalid deposit amounts.
}
balance += amount ;
receipts . add ( "Deposit of " + amount + " made." );
return amount ;
}
public int getBalance () {
return balance ;
}
public List<String> getReceipts () {
return receipts ;
}
public static void main ( String [] args ){
VenusCard card = new VenusCard ();
System . out . println ( card . deposit ( 1000 ));
System . out . println ( card . pay ( 500 , "Store A" ));
System . out . println ( card . getBalance ());
System . out . println ( card . withdraw ( 800 ));
System . out . println ( card . getBalance ());
System . out . println ( card . getReceipts ());
}
}
概要: このコードは、基本的なカード機能(支払い、引き出し、入金)を定義する Card
インターフェースを実装します。VenusCard
クラスは、このインターフェースを実装し、領収書の生成、残高がマイナスの場合の 5% の手数料の請求、オーバードラフト限度額のチェックなどの機能を追加します。これにより、定義されたオーバードラフト限度額を下回る残高になる取引を防ぐことができます。main
メソッドは、VenusCard
クラスの使用例を示しています。無効な取引額(ゼロ以下)を拒否するためのエラー処理が含まれています。
モデル:
gemini-1.5-flash-002
温度:
0.2
最大出力トークン:
8192
TopK:
40.0
TopP:
0.95
フィードバックを送信
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンス により使用許諾されます。コードサンプルは Apache 2.0 ライセンス により使用許諾されます。詳しくは、Google Developers サイトのポリシー をご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-05 UTC。
ご意見をお聞かせください
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-12-05 UTC。"],[],[]]