保存java变量
我正在处理一项任务,由于这个问题,我无法执行某项功能 在程序开始时,我创建了一个变量保存java变量,java,loops,variables,Java,Loops,Variables,我正在处理一项任务,由于这个问题,我无法执行某项功能 在程序开始时,我创建了一个变量 int initial = Keyboard.nextInt() (obviously user input) 然后程序进入一个循环,“initial”的值被多次更改。然而,在程序结束时,当我们退出循环时,我需要使用新的“初始”值以及用户最初输入的确切值 我很难让程序找到初始值,因为在退出循环后,每当我尝试调用“initial”变量时,我只会得到修改后的数字,而不是用户输入的第一个数字。如能帮助我解决此问题,
int initial = Keyboard.nextInt() (obviously user input)
然后程序进入一个循环,“initial”的值被多次更改。然而,在程序结束时,当我们退出循环时,我需要使用新的“初始”值以及用户最初输入的确切值
我很难让程序找到初始值,因为在退出循环后,每当我尝试调用“initial”变量时,我只会得到修改后的数字,而不是用户输入的第一个数字。如能帮助我解决此问题,将不胜感激,谢谢
public class Question3 {
public static void main(String[] args) {
//declare scanner
Scanner keyboard = new Scanner (System.in);
//initial amount
System.out.println("Enter the initial amount: ");
int initial = keyboard.nextInt();
int numItems = 0;
double assets = 0;
int originalPrice=initial;
double spending = originalPrice-assets;
if(initial<=10)
{
System.out.println("Please save money and come back later!!");
numItems=1;
spending=0.0;
}
else
while (initial > 10 )
{
System.out.println("Do you want to make purchases (Y/N)? ");
char c = keyboard.next().charAt(0);
if (c == 'Y')
{
System.out.println("Please enter the price of the item = ");
}
else
{
System.out.println("Lack of desire of Mr.Toto");
break;
}
int price = keyboard.nextInt();
if (initial-price>=10)
{
System.out.println("A purchase is accepted");
initial-=price;
assets=initial-price;
numItems++;
}
else
{
System.out.println("Insufficient assets!!");
System.out.println("Please enter the price of the item = ");
}
if(numItems==10)
{
System.out.println("Maximal number of purchases reached");
break;
}
}
//displaying the summary of mr totos purchases
System.out.println("-------------------------------------------");
System.out.println("Here is a summary of Mr.Toto's purchases.");
System.out.println("-------------------------------------------");
System.out.println("Number of items Assets Spending");
System.out.println(" "+numItems+" "+assets+" " +" "+spending);
}
}
公开课问题3{
公共静态void main(字符串[]args){
//申报扫描器
扫描仪键盘=新扫描仪(System.in);
//初始金额
System.out.println(“输入初始金额:”);
int initial=keyboard.nextInt();
int numItems=0;
双资产=0;
int originalPrice=初始值;
双倍支出=原始价格资产;
如果(首字母10)
{
System.out.println(“您是否要购买(Y/N)”;
char c=键盘.next().charAt(0);
如果(c='Y')
{
System.out.println(“请输入物品的价格=”);
}
其他的
{
System.out.println(“Toto先生缺乏欲望”);
打破
}
int price=keyboard.nextInt();
如果(初始价格>=10)
{
System.out.println(“接受购买”);
初始-=价格;
资产=初始价格;
numItems++;
}
其他的
{
System.out.println(“资产不足!!”);
System.out.println(“请输入物品的价格=”);
}
如果(numItems==10)
{
System.out.println(“达到的最大购买数量”);
打破
}
}
//显示mr totos购买的摘要
System.out.println(“-----------------------------------------”;
System.out.println(“这里是Toto先生购买的摘要”);
System.out.println(“-----------------------------------------”;
系统输出打印项数(“资产支出项目数”);
System.out.println(“+numItems+”+“+assets+”+“+”+“+spending”);
}
}
我认为您应该尝试使用ArrayList。例如:
//Inside loop
ArrayList<Integer> stuff = new ArrayList<>();
price = Keyboard.nextInt();
stuff.add(price);
//Outside loop; gets first input
stuff.get(0);
//内部循环
ArrayList stuff=新的ArrayList();
price=Keyboard.nextInt();
添加(价格);
//外环;获取第一个输入
得到(0);
出现多个错误
- 您只处理
值,因此删除了int
双倍
应该是不可变的,因此它被设置为initialBalance
final
变量应已初始化为expensing
0
package com.stackoverflow.q42588622;
导入java.util.Scanner;
@抑制警告(“javadoc”)
公开课答案{
公共静态void main(字符串[]args){
//养成清理资源的习惯
try(扫描仪键盘=新扫描仪(System.in)){
//初始金额
System.out.println(“输入初始金额:”);
final int initialBalance=keyboard.nextInt();
int numItems=0;
//与平衡相同的概念
//只处理INT
//双资产=0.0;
整数平衡=初始平衡;
//支出最初为0。
//只处理INT
//双倍支出=原始价格-资产;
国际收支=0;
如果(初始余额10){
System.out.println(“您是否要购买(Y/N)”;
char c=keyboard.next()
.charAt(0);
如果(c=='Y'| | c=='Y'){
System.out.println(“请输入物品的价格=”);
}
否则{
System.out.println(“Toto先生缺乏欲望”);
打破
}
int price=keyboard.nextInt();
如果(余额-价格>=10){
System.out.println(“接受购买”);
余额-=价格;
消费+=价格;
//作为initialBalance删除是不可变的
//资产=初始价格;
numItems++;
}
否则{
System.out.println(“资产不足!!”);
System.out.println(“请输入物品的价格=”);
}
如果(numItems==10){
System.out.println(“达到的最大购买数量”);
打破
}
}
}
//显示mr totos购买的摘要
System.out.println(“-----------------------------------------”;
System.out.println(“这里是Toto先生购买的摘要”);
System.out.println(“-----------------------------------------”;
System.out.println(“i的数量