Java Shopping Cart App을 만들었습니다. 나는 그것을 위해 InputStreamReader 클래스를 사용했다. 그러나 그 이상한 행동을 보여줍니다. 이미 스캐너 클래스와 데이터 입력 스트림 클래스를 사용해 보았습니다. 하지만 그들은이 응용 프로그램에 적합하지 않은 것 같습니다.여기에 InputStreamReader에 문제가 있습니까?
누구나이 수업에서 잘못된 점을 지적 해주세요.
또한 이미 설명한 바와 같이 스캐너 클래스와 DIS 클래스는 ISR 클래스를 사용하는 동안 여기에서와 마찬가지로 사용자 입력을 건너 뛸 수 있습니다 (출력 : 비율 참조). 나는 모든 Java 사용자 입력 유틸리티 클래스를 시도하고 코드를 몇 번이고 수정하는 것에 지쳐있다.
import java.util.ArrayList;
//import java.util.InputMismatchException;
import java.util.Iterator;
import java.util.Scanner;
import java.io.DataInputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.lang.Throwable;
public class NewShop {
protected ArrayList<NewItem> ItemList;
ArrayList<NewItem> cartList ;
// public DataInputStream dis = new DataInputStream(System.in);
// private Scanner sc = new Scanner(System.in);
private InputStreamReader isr = new InputStreamReader(System.in);
public void addItem() {
long aCode = 0;
String aName ="";
double aRate = 0;
int aQuantity = 0;
NewItem foundItem;
System.out.println("Enter Item code:");
/* try{
String adddisString = dis.readLine();}
catch(IOException e){e.printStackTrace();} */
try{
aCode = isr.read();
System.out.println("code entered is : " + aCode);
}
catch(IOException e){e.printStackTrace();}
foundItem = search(aCode);
if (foundItem == null) {
System.out.println("Item name : ");
try{
aName = dis.readLine();
}
catch(IOException e){e.printStackTrace();}
System.out.println("Rate : ");
try{ aRate = isr.read(); }
catch(IOException e){e.printStackTrace();}
System.out.println("Quantity : ");
try{aQuantity = isr.read();}
catch(IOException e){e.printStackTrace();}
NewItem aItem = new NewItem(aName, aRate, aCode, aQuantity);
ItemList.add(aItem);
}
else {
System.out.println("Item exists");
}
}
}
출력 :
[email protected]:~/NewJava$ java NewShoppingCart
New Shop for Items created.
-----ITEM------
1. Display all items
2. Search items
3. Add items to list
4. Add items to cart
5. Issue item
6. Exit
Choice:
3
Enter Item code:
1
code entered is : 49
Item name :
apple
Rate :
Quantity :
30
1. Display all items
2. Search items
3. Add items to list
4. Add items to cart
5. Issue item
6. Exit
Choice:
1
code name rate quantity
49 apple 10.0 51
************
1. Display all items
2. Search items
3. Add items to list
4. Add items to cart
5. Issue item
6. Exit
Choice:
예상되는 결과는 무엇입니까? – procrastinator
코드를 조금씩 작성하여 [mcve]를 제공해 주시겠습니까? (일부 데이터 포함) – AxelH
"출력"섹션을 참조하십시오. 나는 예상되는 결과가 확실하다고 생각한다. –