[英]How do I bring in Double values from one ActionListener method into another to perform a calculation? Java
[英]Java, How do I drop one single digit from a number (In order to perform a calculation on the rest of the number)?
我試圖弄清楚Java分配的一部分,但我不知道該怎么做。 如果有人能以正確的方向幫助或指導我,我將不勝感激!
用戶必須輸入一個六位數的“票號”。 我試圖弄清楚如何刪除用戶輸入的數字的最后一位並將其放入自己的變量中。
例如:
機票號:123456
如何刪除“ 6”以使數字“ 12345”並將6放入其自己的變量中?
在將輸入轉換為字符串后,我嘗試使用\\ b退格最后一位數字,但這沒有用。 而且我已經意識到,只要有效,它只會刪除該號碼。
一旦刪除了最后一位數字,我們就必須進行計算以得到余數...我對此並不擔心,我發現書中已經描述了這一點,我只是不知道如何刪除該數字並將其放入通過它自己。
我對Java非常陌生(這是第2章的作業),所以請對我輕松一點!
感謝大家的幫助。 我很感激!
這是我想出的,代碼有效:
import javax.swing.JOptionPane;
public class TicketNumber
{
public static void main(String[] args)
{
String ticketNumber;
int Ticket, Remainder, lastDigit;
ticketNumber = JOptionPane.showInputDialog(null,
"Enter the six digit ticket number",
"Verify Ticket", JOptionPane.INFORMATION_MESSAGE);
Ticket = Integer.parseInt(ticketNumber) / 10;
lastDigit = Integer.parseInt(ticketNumber) % 10;
Remainder = Ticket % 7;
boolean Valid = lastDigit == Remainder;
JOptionPane.showMessageDialog(null, "Valid Ticket" + "\n" + Valid);
}
}
這取決於您使用的數據類型。 如果值為String
,則可以使用substring
方法:
String ticket = "123456";
String allButLast = ticket.substring(0, ticket.length() - 1); // becomes "12345"
如果它是一個int
值,你可以使用整數除法:
int ticket = 123456;
int allButLast = ticket / 10; // truncates to 12345
如果是float
或double
,則可以除以10並轉換為int
,也可以使用Math.floor()
在除以10后刪除小數部分。
編輯:根據對問題的編輯,您可以執行以下操作:
public class TicketNumber
{
public static void main(String[] args)
{
String ticketNumber;
int ticket, prefix, remainder, lastDigit;
ticketNumber = JOptionPane.showInputDialog(null,
"Enter the six digit ticket number",
"Verify Ticket", JOptionPane.INFORMATION_MESSAGE);
ticket = Integer.parseInt(ticketNumber);
prefix = ticket / 10;
lastDigit = ticket % 10;
remainder = prefix % 7;
boolean valid = lastDigit == remainder;
JOptionPane.showMessageDialog(null, "Valid Ticket" + "\n" + valid);
}
}
請注意, Ticket
等不是良好的Java變量名稱; 它們應以小寫字母開頭(例如, ticket
)。 我在代碼版本中進行了更改。
請注意,計算可以更簡潔地寫為:
boolean valid = (ticket % 10) == ((ticket / 10) % 7);
並且您可以消除變量prefix
, remainder
和lastDigit
。
您可以使用模運算符%
和除法運算符/
int number = 123456;
int remainder = 123456 % 10;
int newNumber = 123456 / 10;
System.out.println(newNumber); // output is 12345
System.out.println(remainder); // output is 6
int n=123456,m=n/10;
System.out.println("Number = "+m);//your code
您的輸出:-
Number = 12345
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.