in和on兩個都正確。in the river是指在水中,on the river是指浮在水上。in和on的用法區別: 
1、in表示在……中,在……內,例如:in the street(在街上),in the wall(在牆裏面,例如在牆上打個釘)。
2、on表示在一個平面上,例如: on the table(在桌上),on the lake(在湖面上) 。