|
|
|
java Scanner (вопрос новичка)
|
|||
|---|---|---|---|
|
#18+
во время прохода первого цикла сканер не считывает for(int i=0; i<a; i++){ System.out.print((i+1)+"."); mas[i]=sc.nextLine(); } Весь код import java.util.Scanner; public class opt { public static void main(String[] args) { int a=0; String b; Scanner sc=new Scanner(System.in); System.out.print("Размер списка "); if(sc.hasNextInt()){ a=sc.nextInt(); } b=sc.nextLine(); // чтобы выполнялся первый цикл считывания String[] mas = new String[a]; for(int i=0; i<a; i++){ System.out.print((i+1)+"."); mas[i]=sc.nextLine(); } for(int i=0; i==0;){ i=1; for(int j=0;j<(a-1); j++){ if(proverka(mas[j], mas[j+1])){ b=mas[j]; mas[j]=mas[j+1]; mas[j+1]=b; i=0; } } } for (int i=0; i<a; i++){ System.out.println(mas[i]); } } public static boolean proverka(String s1, String s2){ int a; boolean b=false; if(s1.length()<=s2.length()){ a=s1.length(); }else a=s2.length(); s1=s1.toLowerCase(); s2=s2.toLowerCase(); for(int i=0; i<a; i++){ if((int)s1.charAt(i)>(int)s2.charAt(i)){ b=true; break; }else{ if((int)s1.charAt(i)<(int)s2.charAt(i)){ b=false; break; } } } return b; } } если закомментировать b=sc.nextLine(); то пропустит первый цикл считываения Размер списка 3 1.2.фвфыв 3.фывыфв фвфыв фывыфв ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 19:22 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=119&tid=2124950]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
99ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
32ms |
get tp. blocked users: |
3ms |
| others: | 218ms |
| total: | 412ms |

| 0 / 0 |
